DDL库操作
建库
create database new1name charset utf8mb4;
show create database new1name;
修改库
create database new2; show create database new1name; show create database new; alert database new2 charset utf8mp4; show create database new2;
删库
drop database new2;
查库
show database new2; show create database new2;
库定义的规范
1.库名,不能是数字开头; 2.库名要和业务有关; 3.库名不要有大写字符; 为了多平台兼容 4.建库需要显示指定字符集。建议utf8mp4; 5.生产中禁用普通用户的drop database权限;
DDL -表定义
建表
数据类型: int char varchar tinyint(年龄) enum datetime create table
补充: 1.‘’ 反引号,还原字符串原有的意义; 2.克隆一张和student 表结构一致的stu表。 create table stu like student; 3.建表规范
表名: 不能数字开头 不能大写字母 业务有关 不超过18个字符 不能是关键字 搜索引擎使用InnoDB 5.7版本之后,字符集使用utf8mb4 列名要和业务员有关,不能超过18个字符 选择合适、足够。简短数据类型 建议每个列设置not null 每个列要有注释 每个表要有主键 针对not null 列,可以设定默认值。 表注释
修改表
shell查看:use biao1; show tables; show create table student; desc students;
能定义上,就能修改
1.添加列 在new2表中添加一个新的列,列的属性; desc new2; alert table new2 add column telphone CHAR(11) not null unique key default ‘0’ conmment ‘手机号’; desc new2;
删除列 alert table new2 drop telphone;
修改表的定义,属性 修改表名 alert table new2 rename to new3;
修改引擎**** create table t1(id int)engine=myisam; show create table t1; alert table t1 engine=innodb;
修改字符集 create table t2(id int) charset=utf8 show create table t2; alter table t2 charset=utf8mb4;
修改列属性 修改列名 desc student; alert table student change sehnfen cardnum char(18) not null defaule ‘0’ comment ‘身份证’;
修改默认值,0变为1 alert table student change cardnum cardnum char(18) not null defaule ‘1’ comment ‘身份证’;
修改数据类型****** alert table student modify cardnum char(20) not null defaule ‘1’ comment ‘身份证’;
删表
drop table new2;
表定义规范
添加列,使用追加式添加列 修改列属性,尽量使用modify语句 修改表定义,建议在业务不繁忙期间进行。尽量采用pt-osc或者gh-ost工具减少业务影响。
|