1.什么是sql
sql(structured query language)是“结构化查询语言”,它是对关系型数据库的操作语言。
它可以应用到所有关系型数据库中,
例如:mysql、oracle、sql server等。
sq标准(ansi/iso)有:
- sql-92:1992年发布的sql语言标准;
- sql:1999:1999年发布的sql语言标签;
- sql:2003:2003年发布的sql语言标签;
这些标准就与jdk的版本一样,在新的版本中总要有一些语法的变化。
不同时期的数据库对不同标准做了实现。
虽然sql可以用在所有关系型数据库中,但很多数据库还都有标准之后的一些语法,我们可以称之为“方言”。
例如mysql中的limit语句就是mysql独有的方言,其它数据库都不支持!
当然,oracle或sql server都有自己的方言。
2.语法要求
- sql语句可以单行或多行书写,以分号结尾;
- 可以用空格和缩进来来增强语句的可读性;
- 关键字不区别大小写,建议使用大写;
3.分类
- ddl(data definition language):数据定义语言,用来定义数据库对象:库、表、列等;
- dml(data manipulation language):数据操作语言,用来定义数据库记录(数据);
- dcl(data control language):数据控制语言,用来定义访问权限和安全级别;
- dql(data query language):数据查询语言,用来查询记录(数据)。
4.ddl
基本操作
- 查看所有数据库名称:show databases;
- 切换数据库:use mydb1,切换到mydb1数据库;
操作数据库
- 创建数据库:create database [if not exists] mydb1;
- 创建数据库,例如:create database mydb1,创建一个名为mydb1的数据库。如果这个数据已经存在,那么会报错。例如create database if not exists mydb1,在名为mydb1的数据库不存在时创建该库,这样可以避免报错。
- 删除数据库:drop database [if exists] mydb1;
- 删除数据库,例如:drop database mydb1,删除名为mydb1的数据库。如果这个数据库不存在,那么会报错。drop database if exists mydb1,就算mydb1不存在,也不会的报错。
- 修改数据库编码:alter database mydb1 character set utf8
- 修改数据库mydb1的编码为utf8。注意,在mysql中所有的utf-8编码都不能使用中间的“-”,即utf-8要书写为utf8。
查看mysql的编码:show variables
like
'character_set_database'
5.数据类型
mysql与java一样,也有数据类型。mysql中数据类型主要应用在列上。
常用类型:
- int:整型 如果字段是int类型 那么不需要指定长度 如果是自增的字段一定要是int类型
- double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
- decimal:泛型型,在表单钱方面使用该类型,因为不会出现精度缺失问题;decimal(5,2)
- char:固定长度字符串类型; char(10)
- varchar:可变长度字符串类型; varchar(10)
- text:字符串类型;string
- blob:字节类型;
- date:日期类型,格式为:yyyy-mm-dd;
- time:时间类型,格式为:hh:mm:ss
- timestamp:时间戳类型;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论