动作 | SQL |
---|---|
创建表 | CREATE TABLE 表名( 字段名 字段名类型(长度);....); |
更新表名 | RENAME TABLE 旧表名 TO 新表名 |
更新字段名 | ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新字段名类型(长度) |
更新字段类型、null、默认值 | ALTER TABLE 表名 MODIF 字段名 新字段类型(长度) |
删除字段默认值 | ALTER TABLE 表名 ALTER COLUMN 字段名 DROP DEFAULT |
设置主键 | ALTER TABLE 表名 ADD PRIMARY KEY (主键字段列表) |
删除主键 | ALTER TABLE 表名 DROP PRIMARY KEY; |
新增字段 | ALTER TABLE 表名 ADD COLUMN 新字段 字段类型及其他属性; |
删除字段 | ALTER TABLE 表名 DROP COLUMN 字段名; |
删除表 | DROP TABLE 表名 |
修改库字符编码 | alter database 库名 CHARACTER SET utf8 COLLATE utf8_general_ci; |
修改表字符编码 | alter table 表名 character set utf8 COLLATE utf8_general_ci; |
这里列出几个比较常用的,以后有用到新的会继续添加!
创建表:
在创建表的时候可以使用 COMMENT 进行字段、表的备注,NOT NULL 表示该字段是非空(必填,不写就非必填),default ‘’ 表默认值
主键: primary key (主键字段
), 去规范一个字段的唯一性,且不可被更改的,自动进行索引,非空
自增长: auto_increment,添加在列上类型id,必须是键(主键或唯一),默认增长1初始值1,一个表只能设置一个
等等…约束条件.
CREATE TABLE `表名` (
`字段` varchar(32) NOT NULL default '默认值' COMMENT '字段注释',
`create_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
primary key (`主键字段`),
unique key `uqe_字段` (`字段`),
key `idx_字段` (`字段`)
)COMMENT = '表注释';
六大约束:
- NOT NULL:
非空约束
,保证字段不为空
`字段` varchar(32) NOT NULL
- DEFAULT:
默认约束
,保证字段有默认值,在非空条件下,也可以不填值
`字段` varchar(32) NOT NULL DEFAULT '默认值'
- PRIMARY KEY:
主键约束
,保证字段的唯一性、非空且不可被更改
CONSTRAINT pk_主键字段 PRIMARY KEY (`主键字段`),
PRIMARY KEY (`主键字段`),
- UNIQUE:
唯一约束
,保证字段的唯一性,可以为空
CONSTRAINT ud_唯一字段 UNIQUE (`唯一字段`),
UNIQUE (`唯一字段`),
- CHECK:
检查约束
,【mysql不支持】
CONSTRAINT ck_检查字段 CHECK (条件),
- FOREIGN KEY:
外键约束
,限制两个表的关系,保证改字段在关联主表里面一定存在对应字段(主键或唯一键)
CONSTRAINT fk_外键字段 FOREIGN KEY(`外键字段`) REFERENCES 关联表名(字段),
FOREIGN KEY(`外键字段`) REFERENCES 关联表名(字段),
CONSTRAINT 别名 可以省略,使用下面的更为简便。
约束分类:
列级约束:
除了外键其他都可以在列上进行约束
表级约束:
除了非空、默认值其他都可以在表上进行约束