mysql创建表说明_MYSQL库表的创建以及说明
1、库的创建以及删除修改
CREATE DATABASE zabbix CHARSET utf8mb4 COLLATE utf8mb4_bin;
#查看库的情况
SHOW DATABASES;
SHOW CREATE DATABASE zabbix;
#删除库
DROP DATABASE zabbix;
#修改字符集
ALTER DATABASE zabbix CHARSET utf8mb4;
2、表的创建
PRIMARY KEY :主键约束,表中只有⼀个⾮空且唯⼀
NOT NULL :⾮空约束
mysql创建表数据类型UNIQUE KEY :唯⼀键约束,不允许重复值
DEFAULT :默认,⼀般配合NOT NULL⼀起使⽤
UNSIGNED :⽆符号,⼀般配合数字列,⾮负数
COMMIT :注释
CREATE TABLE stu(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '学号',
sname VARCHAR(255) NOT NULL COMMENT '姓名',
age TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '年龄',
gender ENUM('m','f','n') NOT NULL DEFAULT 'n' COMMENT '⼊学时间'
)
ENGINE INNODB CHARSET utf8mb4;
注:
mysql5.7以上需要设置:set
@@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ARO,N
建表规范
1、表名⼩写字母,不能以数字开头
2、不能是保留字符,使⽤和业务有关的表名
3、选择合适的数据类型及长度
4、每个列设置NOT NULL + DEFAULT .对于数据0填充,对于字符使⽤有效字符填充
5、每个列设置注释
6、表必须设置存储引勤和字符集
7、主键列尽量是⽆关数字列,最好是⾃增长
8、ENUM类型不要保存数字,只能是字符串类型
3、表的修改
——在stu表中添加qq列(在线修改容易引起锁表,数据越⼤锁表时间越长,⼯具pt-osc)
DESC stu;
ALTER TABLE stu ADD qq VARCHAR(20) NOT NULL COMMENT ’qq号‘;
——在sname后加列
ALTER TABLE stu ADD wechat VARCHAR(64) NOT NULL UNIQUE COMMENT '号' AFTER sname;——在id列前加⼀个新列num
ALTER TABLE stu ADD num INT NOT NULL UNIQUE COMMENT '⾝份证' FIRST;
——修改sname数据类型的属性
ALTER TABLE stu MODIFY sname VARCHAR(64) NOT NULL COMMENT '姓名';
——将gender改为sex 数据类型改为CHAR类型
ALTER TABLE stu CHANGE gender sex CHAR(4) NOT NULL DEFAULT '男' COMMENT '姓别';
4、删除列
ALTER TABLE stu DROP num;
DCL语句:grant、revoke
DML语句: 对数据⾏进⾏增删改查
——insert
INSERT INTO stu VALUES(1,'张三',18,'男');
规范写法:INSERT INTO stu(id,sname,age,sex) VALUES(1,'张三',18,'男');
针对性的录⼊数据:INSERT INTO stu(sname,age,sex)values('v5',11,'m');
—
—update
——delete
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论