SQL语言

119 阅读3分钟

SQL语言分类

  1. 数据查询语言DQL

    用以从表中获得数据,确定数据怎样在应用程序给出。关键字 SELECT 是 DQL(也是所有 SQL)用得最多的动词。

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • HAVING
  1. 数据操作语言DML

    其语句包括动词 INSERT,UPDATE 和 DELETE。它们分别用于添加,修改和删除表中的行。

  • INSERT:添加数据
  • UPDATE:更新数据
  • DELETE:删除数据
  1. 数据定义语言DDL

定义数据库对象语言,其语句包括动词 CREATE 和 DROP 等。

  • CREATE:创建数据库对象
  • ALTER:修改数据库对象
  • DROP:删除数据库对象
  1. 数据控制语言DCL

它的语句通过GRANT 或 REVOKE 获得许可,确定用户对数据库对象的访问。

  • GRANT:授予用户某种权限
  • REVOKE:回收授予的某种权限
  1. 事务控制语言TCL

它的语句能确保被 DML 语句影响的表的所有行及时得以更新。

  • COMMIT:提交事务
  • ROLLBACK:回滚事务
  • SAVEPOINT:设置回滚点

SQL语言语法

  1. SQL语句不区分大小写,关键字建议大写。
  2. SQL语句可以单行或多行书写,以分号结尾。

创建数据库 create

CREATE DATABASE 数据库名 DEFAULT CHARACTERSET 字符编码;

删除数据库 drop

DROP DATABASE 数据库名称;

MySQL中的数据类型

image.png

整数类型

image.png 数值类型中的长度 m 是指显示长度,并不表示存储长度,只有字段指定 zerofill 时有用

浮点类型

image.png

字符类型

image.png char和varchar:

  • char长度固定, 即每条数据占用等长字节空间;适合用在身份证号码、手机号码等定长。
  • varchar可变长度,可以设置最大长度;适合用在长度可变的属性。
  • text不设置长度, 当不知道属性的最大长度时,适合用text

按照查询速度: char最快, varchar次之,text最慢。

日期类型

image.png

二进制数据

创建表

CREATE TABLE 表名(列名 类型,列名 类型......);

删除表

DROP TABLE 表名;

修改表

修改表名

ALTER TABLE 旧表名 RENAME 新表名;

修改列名

ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型;

修改列类型
添加新列
删除指定列

MySQL中的约束

image.png

约束概述

数据库约束是对表中的数据进行进一步的限制,保证数据的正确性,有效性,完整性。

1. 主键约束

主键约束是使用最频繁的约束。在设计数据表时,一般情况下,都会要求表中设置一个主键。主键是表的一个特殊字段,该字段能唯一标识该表中的每条信息。例如,学生信息表中的学号是唯一的。

2. 外键约束

外键约束经常和主键约束一起使用,用来确保数据的一致性。

3. 唯一性约束

唯一约束与主键约束有一个相似的地方,就是它们都能够确保列的唯一性。与主键约束不同的是,唯一约束在一个表中可以有多个,并且设置唯一约束的列是允许有空值的。

4. 非空约束

非空约束用来约束表中的字段不能为空。

5. 检查约束

检查约束也叫用户自定义约束,是用来检查数据表中,字段值是否有效的一个手段,但目前 MySQL 数据库不支持检查约束。

添加主键约束

  • 单一主键
  • 联合主键

添加外键约束

添加唯一性约束

非空约束