数据库基本语法
创建数据库
CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET] <字符集名>
|[DEFAULT] COLLATE <校对规则名>]
语法说明
[ ] 内为可选项,{ } 为二选一。
- 数据库名:数据库名字
- IF NOT EXISTS:建数据库前判断有无创建的数据库,只有在该数据库不存在的时候才进行
CREATE DATABASE创建操作。 - DEFAULT:指定默认值
- CHARACTER SET:指定数据库字符集
- COLLATE:指定字符集的校对规则
最简格式
CREATE DATABASE <数据库名>
打开数据库
创建了数据库之后,使用USE命令可指定当前数据库。
USE <数据库名>
在使用CREATE DATABASE 语句创建数据库之后,该数据库不会自动成为当前数据库,需要使用这条USE语句来指定。
修改数据库
ALTER {DATABASE|SCHEMA} <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>
|[DEFAULT] COLLATE <校对规则名>]
语法说明
[ ] 内为可选项,{ } 为二选一。
- DEFAULT:指定默认值
- CHARACTER SET:指定数据库字符集
- COLLATE:指定字符集的校对规则
删除数据库
用于删除已创建的数据库
DROP DATABASE [IF EXISTS] <数据库名>
语法说明
- 数据库名:要删除的数据库名
- IF EXISTS:避免删除不存在的数据库时,出现的MySQL错误信息。
显示数据库
SHOW DATABASES
数据表基本语法
创建数据表
创建表
CREATE TABLE [IF NOT EXISTS] <表名>
(<列名> <数据类型> [NOT NULL|NULL] [DEFAULT 列默认值]…)
ENGINE=<存储引擎>
语法说明
IF NOT EXISTS:在建表之前判断,只有在该表不存在时才执行创建表操作。此选项可避免出现表已经存在无法再新建的错误。- 表名:要创建表的表名。必须符合标志符规则,若有 MySQL 保留字,必须用单引号括住。
- 列名:表中列的名字。必须符合标志符规则,长度不能超过64个字符,具有唯一性,若有 MySQL 保留字,必须用单引号括住。
- 数据类型:列的数据类型,有的数据类型需要指明长度n,并用括号括起来。
NOT NULL|NULL:指定该列是否允许为空。默认为NULL。DEFAULT 列默认值:为列指定默认值,默认值必须为一个常数,其中,BOLB 和 TEXT 列不能被赋予默认值。如果没有为列指定默认值,MySQL 会自动地分配一个。 若列可以取 NULL 值,默认值就是 NULL。如果列被声明为 NOT NULL,默认值取决于列类型。ENGINE=存储引擎:MySQL 支持数个存储引擎作为对不同表的类型的处理器。使用时要用具体的存储引擎名称代替代码中的存储引擎,如 ENGINE=InnoDB。
管理数据表
修改数据表
修改表名
ALTER TABLE <旧表名> RENAME [TO] <新表名>
示例:
use my_sql;
alter table tb_RENAME1 rename tb_RENAME2;
修改字段的数据类型
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
示例:
alter table tb_RENAME2 modify name varchar(30);
修改字段名
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>
其中,“旧字段名”指修改前的字段名;“新字段名”指修改后的字段名;“新数据类型”指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样即可,但数据类型不能为空。
示例:
alter table tb_RENAME2 change loc location VARCHAR(50);
添加字段
ALTER TABLE<表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在字段名];
“ FIRST”为可选参数,其作用是将新添加的字段设置为表的第一个字段;
“AFTER”为可选参数,其作用是将新添加的字段添加到指定的“已存在字段名”的后面。
示例
- 添加无完整性约束性条件的字段
在数据表 tb_RENAME2 中添加一个没有完整性约束的 INT 类型的字段 managerIdalter table tb_RENAME2 add managerId int(10); - 添加有完整性约束性条件的字段
在数据表 tb_RENAME2 中添加一个不能为空的 VARCHAR(12)类型的字段 column1alter table tb_RENAME2 add column1 varchar(12) not null; - 在表的第一列添加一个字段
在数据表 tb_RENAME2 中添加一个int类型的字段 column2alter table tb_RANAME2 add column2 int(10) first; - 在表的指定列之后添加一个字段
在数据表tb_RENAME2中name列后添加一个int类型的字段column3alter table tb_RENAME2 add column3 int(10) after name;
删除字段
ALER TABLE <表名> DROP <字段名>
修改字段的排列位置
ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;
“字段1”指要修改位置的字段,“数据类型”指“字段1”的数据类型,
“ FIRST”为可选参数,指将“字段1”修改为表的第一个字段,
“ AFTER字段2”指将“字段1”插入到“字段2”后面。
示例
- 修改字段为表的第一个字段
将数据表tb_RENAME2中的column1字段修改为表的第一个字段alter table tb_RENAME2 modify column1 varchar(12) first; - 修改字段到表的指定列之后
将数据表tb_RENAME2中的column1字段插入到location字段后面alter table tb_RENAME2 modify column1 varchar(12) after location;
更改表的存储引擎
MySQL支持的存储引擎
| 引擎名 | 是否支持 |
|---|---|
| FEDERATED | 否 |
| MRG MYISAM | 是 |
| MYISAM | 是 |
| BLACKHOLE | 是 |
| CSV | 是 |
| MEMORY | 是 |
| ARCHIVE | 是 |
| InnoDB | 是 |
| PERFORMANCE SCHEMA | 默认 |
ALTER TABLE <表名> engine=<新存储引擎名>
示例:
将数据表tb_RENAME2的存储引擎修改为MyISAM
alter table tb_RENAME2 engine=MyISAM;
删除表的外键约束
对于数据库中定义的外键,如果不再需要,可以将其删除。外键一旦删除,就会解除主表和从表间的关联关系。
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>
“外键约束名”指在定义表时CONSTRAINT关键字后面的参数
© 版权声明
THE END












暂无评论内容