MySQL库、表的创建、修改、删除
库的创建、查看与修改
建库规范
建库规范:
1.库名不能有大写字母 ,不能使用保留字符 (反引号会强制创建)
2.建库要加字符集
3.库名不能有数字开头
4. 库名要和业务相关
建库:
create database school charset utf8;
charset utf8 -------->指定字符集为utf8
查库:
show databases;
修改库(只能从小的往大的改,目前utf8mb4最大):
alter database school charset utf8mb4;
表的创建、查看与修改
- 创建表语法:
create table stu(
列1 属性(数据类型、约束、其他属性),
列2 属性,
列3 属性
)
- 建表例子:
USE school;
CREATE TABLE stu(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '学号',
sname VARCHAR(255) NOT NULL COMMENT '姓名',
sage TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '年龄',
sgender ENUM('m','f','n') NOT NULL DEFAULT 'n' COMMENT '性别' ,
sfz CHAR(18) NOT NULL UNIQUE COMMENT '身份证',
intime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '入学时间'
- 建表规范:
1. 表名小写,不要太长,不能是用关键字。(不大写的原因是多平台兼容问题)
2. 不能是数字开头
3. 注意字符集和存储引擎
4. 表名和业务有关
5. 选择合适的数据类型,必须要有主键
6. 每个列都要有注释
7. 每个列设置为非空,无法保证非空,用0来填充。
查看表属性语句:
desc 表名字;
show create table 表名;(具体信息查看方式)
修改表定义:
示例:
在stu表中添加qq列
DESC stu;
ALTER TABLE stu ADD qq VARCHAR(20) NOT NULL UNIQUE 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 COMMENT '数字' FIRST;
删除表中的字段
Alter table 表名 drop column 字段名
修改表字段以及属性:
将test字段改为test1
ALTER TABLE 表名 CHANGE 原字段名 新字段名 字段类型 约束条件
ALTER TABLE user10 CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';
备注:修改时注意修改字段的相关属性,或者带上原属性,否则会默认覆盖属性导致数据属性变化变成脏数据。
DESC stu;
删除表:
drop table xxx;