SQL语言分类
-
数据查询语言DQL
用以从表中获得数据,确定数据怎样在应用程序给出。关键字 SELECT 是 DQL(也是所有 SQL)用得最多的动词。
- SELECT
- FROM
- WHERE
- ORDER BY
- HAVING
-
数据操作语言DML
其语句包括动词 INSERT,UPDATE 和 DELETE。它们分别用于添加,修改和删除表中的行。
- INSERT:添加数据
- UPDATE:更新数据
- DELETE:删除数据
- 数据定义语言DDL
定义数据库对象语言,其语句包括动词 CREATE 和 DROP 等。
- CREATE:创建数据库对象
- ALTER:修改数据库对象
- DROP:删除数据库对象
- 数据控制语言DCL
它的语句通过GRANT 或 REVOKE 获得许可,确定用户对数据库对象的访问。
- GRANT:授予用户某种权限
- REVOKE:回收授予的某种权限
- 事务控制语言TCL
它的语句能确保被 DML 语句影响的表的所有行及时得以更新。
- COMMIT:提交事务
- ROLLBACK:回滚事务
- SAVEPOINT:设置回滚点
SQL语言语法
- SQL语句不区分大小写,关键字建议大写。
- SQL语句可以单行或多行书写,以分号结尾。
创建数据库 create
CREATE DATABASE 数据库名 DEFAULT CHARACTERSET 字符编码;
删除数据库 drop
DROP DATABASE 数据库名称;
MySQL中的数据类型
整数类型
数值类型中的长度 m 是指显示长度,并不表示存储长度,只有字段指定 zerofill 时有用
浮点类型
字符类型
char和varchar:
- char长度固定, 即每条数据占用等长字节空间;适合用在身份证号码、手机号码等定长。
- varchar可变长度,可以设置最大长度;适合用在长度可变的属性。
- text不设置长度, 当不知道属性的最大长度时,适合用text
按照查询速度: char最快, varchar次之,text最慢。
日期类型
二进制数据
创建表
CREATE TABLE 表名(列名 类型,列名 类型......);
删除表
DROP TABLE 表名;
修改表
修改表名
ALTER TABLE 旧表名 RENAME 新表名;
修改列名
ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型;
修改列类型
添加新列
删除指定列
MySQL中的约束
约束概述
数据库约束是对表中的数据进行进一步的限制,保证数据的正确性,有效性,完整性。
1. 主键约束
主键约束是使用最频繁的约束。在设计数据表时,一般情况下,都会要求表中设置一个主键。主键是表的一个特殊字段,该字段能唯一标识该表中的每条信息。例如,学生信息表中的学号是唯一的。
2. 外键约束
外键约束经常和主键约束一起使用,用来确保数据的一致性。
3. 唯一性约束
唯一约束与主键约束有一个相似的地方,就是它们都能够确保列的唯一性。与主键约束不同的是,唯一约束在一个表中可以有多个,并且设置唯一约束的列是允许有空值的。
4. 非空约束
非空约束用来约束表中的字段不能为空。
5. 检查约束
检查约束也叫用户自定义约束,是用来检查数据表中,字段值是否有效的一个手段,但目前 MySQL 数据库不支持检查约束。
添加主键约束
- 单一主键
- 联合主键