DDL-数据库操作
- 查询
- 查询所有数据库
- SHOW DATABASES;
- 查询当前数据库
- SELECT DATABASE();
- 查询所有数据库
- 创建
- CREATE DATABASE [IF NOT EXISTS]数据库名[DEFAULT CHAREST 字符集][COLLATE 排序规则];
- 删除
- DROP DATABASE[IF EXISTS]数据库名;
- 使用
- USE 数据库名;
DDL-表操作-查询
- 查询当前数据库所有表
- SHOW TABLES;
- 查询表结构
- DESC(表名);
- 查询指定表的建表语句
- SHOW CREATE TABLE 表名;
DDL-表操作-创建
CREATE TABLE 表名(
字段1 字段1类型 [COMMENT 字段1注释],
字段2 字段2类型 [COMMENT 字段2注释],
字段3 字段3类型 [COMMENT 字段3注释],
......
字段N 字段N类型 [COMMENT 字段N注释]
)[COMMENT 表注释];
DDL-表操作-数据类型
数据类型 | 字节长度 | 范围或用法 |
Bit | 1 | 无符号[0,255],有符号[-128,127],天缘博客备注:BIT和BOOL布尔型都占用1字节 |
TinyInt | 1 | 整数[0,255] |
SmallInt | 2 | 无符号[0,65535],有符号[-32768,32767] |
MediumInt | 3 | 无符号[0,2^24-1],有符号[-2^23,2^23-1]] |
Int | 4 | 无符号[0,2^32-1],有符号[-2^31,2^31-1] |
BigInt | 8 | 无符号[0,2^64-1],有符号[-2^63 ,2^63 -1] |
Float(M,D) | 4 | 单精度浮点数。天缘博客提醒这里的D是精度,如果D<=24则为默认的FLOAT,如果D>24则会自动被转换为DOUBLE型。 |
Double(M,D) | 8 | 双精度浮点。 |
Decimal(M,D) | M+1或M+2 | 未打包的浮点数,用法类似于FLOAT和DOUBLE,天缘博客提醒您如果在ASP中使用到Decimal数据类型,直接从数据库读出来的Decimal可能需要先转换成Float或Double类型后再进行运算。 |
Date | 3 | 以YYYY-MM-DD的格式显示,比如:2009-07-19 |
Date Time | 8 | 以YYYY-MM-DD HH:MM:SS的格式显示,比如:2009-07-19 11:22:30 |
TimeStamp | 4 | 以YYYY-MM-DD的格式显示,比如:2009-07-19 |
Time | 3 | 以HH:MM:SS的格式显示。比如:11:22:30 |
Year | 1 | 以YYYY的格式显示。比如:2009 |
Char(M) | M | 定长字符串。 |
VarChar(M) | M | 变长字符串,要求M<=255 |
Binary(M) | M | 类似Char的二进制存储,特点是插入定长不足补0 |
VarBinary(M) | M | 类似VarChar的变长二进制存储,特点是定长不补0 |
Tiny Text | Max:255 | 大小写不敏感 |
Text | Max:64K | 大小写不敏感 |
Medium Text | Max:16M | 大小写不敏感 |
Long Text | Max:4G | 大小写不敏感 |
TinyBlob | Max:255 | 大小写敏感 |
Blob | Max:64K | 大小写敏感 |
MediumBlob | Max:16M | 大小写敏感 |
LongBlob | Max:4G | 大小写敏感 |
Enum | 1或2 | 最大可达65535个不同的枚举值 |
Set | 可达8 | 最大可达64个不同的值 |
Geometry | ||
Point | ||
LineString | ||
Polygon | ||
MultiPoint | ||
MultiLineString | ||
MultiPolygon | ||
GeometryCollection |
DDL-表操作-修改
- 添加字段
- ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释][约束];
- 案例:为emp表添加一个新的字段“昵称”为nickname,类型varchar(20)
- ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释][约束];
alter table EMP ADD NICKNAME VARCHAR(20) COMMENT '昵称';
- 修改数据类型
- ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
- 修改字段名和字段类型
- ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释][约束];
- 案例:将emp表的nickname字段修改为username,类型为varchar(30)
- ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释][约束];
- 删除字段
- ALTER TABLE 表名 DROP 字段名;
- 案例:将emp表中的username删除。
- ALTER TABLE 表名 DROP 字段名;
ALTER TABLE EMP DROP USERNAME;
- 修改表名
- ALTER TABLE 表名 RENAME TO 新表名;
- 案例: 将emp表的表名修改为employee
- ALTER TABLE EMP RENAME TO EMPLOYEE;
- 案例: 将emp表的表名修改为employee
- ALTER TABLE 表名 RENAME TO 新表名;
- 删除表
- DROP TABLE [IF EXISTS] 表名;
- 删除指定表,并重新创建该表
- TRUNCATE TABLE 表名;