SQL语言分类

分类全称说明
DDLData Definition Language数据定义语言,用来定义数据库对象(数据库,表,字段)
DMLData Manipulation Language数据操作语言,用来对数据库表中的数据进行增删改
DQLData Query Language数据查询语言,用来查询数据库中表的记录
DCLData Control Language数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL-数据库操作

  1. 查询所有数据库

    SHOW DATABASES;
  2. 查询当前数据库

    SELECT DATABASE( );
  3. 创建数据库

    CREATE DATABASE[IF NOT EXISTS]数据库名 [DEFAULT CHARSET 字符集][COLLATE 排序规则];
  4. 删除数据库

    DROP DATABASE[IF EXISTS]数据库名;
  5. 使用数据库

    USE 数据库名;

DDL-表操作

  1. 查询当前数据库所有表

    SHOW TABLES;
  2. 查询表结构

    DESC 表名;
  3. 查询指定表的建表语句

    SHOW CREATE TABLE表名;

DDL -表创建

CREATE TABLE 表名(
字段1 字段1类型[COMMENT字段1注释],
字段2 字段2类型[COMMENT字段2注释],
字段3 字段3类型[COMMENT字段3注释],
字段4 字段n类型[COMMENT字段n注释]
)[COMMENT 表注释];

SQL常用数据类型

类型大小有符号(SIGNED)范围
TINYINT1 byte(-128,127)
SMALLINT2 byte(-32768,32767)
MEDIUMINT3 byte(-8388608,8388607)
INT或INTEGER4 byte(-2147483648,2147483647)
BIGINT8 byte(-2^63,2^63-1)
FLOAT4 byte
DOUBLE8 byte
DECIMAL 依赖于M(精度)和D(标度)的值
CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长字符串
TINYBLOB0-255 bytes不超过255个字符的二进制数据
TINYTEXT0-255 bytes短文本字符串
BLOB0-65535 bytes二进制形式的长文本数据
TEXT0-65535 bytes长文本数据
MEDIUMBLOB0-16777215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16777215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据

DDL-表修改和删除

  1. 添加字段

    ALTER TABLE表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
  2. 修改字段名和字段类型

    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
  3. 删除字段

    ALTER TABLE 表名 DROP 字段名;
  4. 修改表名

    ALTER TABLE 表名 RENAME TO 新表名;
  5. 删除表

    DROP TABLE[IF EXISTS]表名;
  1. 删除指定表,并重新创建该表

    TRUNCATE TABLE 表名;