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      :非空约束

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,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

建表规范

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值