MySQL|创建数据库表及修改删除数据表字段

创建数据库表 例:
目标:创建一个school数据库
创建学生表(列,字段)使用SQL语句创建
要求:学号int、姓名varchar、密码varchar、生日datetime、家庭住址adress、邮箱varchar;学号为主键;引擎为innoDB;字段为utf-8

CREATE TABLE IF NOT EXISTS `student` ( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码', `sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别', `birthday` DATETIME DEFAULT NULL COMMENT '出生日期', `adress` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址', `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY(`id`) )ENGINE=INNODB DEFAULT CHARSET=utf8

【MySQL|创建数据库表及修改删除数据表字段】MySQL|创建数据库表及修改删除数据表字段
文章图片

注意:NOT不要写成NO

格式:
CREATE TABLE [IF NOT EXISTS] `表名`(`字段名` 列类型 [属性] [索引] [注释],`字段名` 列类型 [属性] [索引] [注释],........`字段名` 列类型 [属性] [索引] [注释])[表类型] [字符集设置] [注释]


小结:
1.使用英文括号(),表的名称和字段尽量使用 ` ` 括起来
2.ATUO INCREMENT 自增
3.所有语句后面加英文逗号(,) ,最后一个语句不用加
4.PRIMARY KEY 是主键,一般一个表只有唯一的一个主键
5.每个表都必须存在以下五个字段,表示一个记录存在的意义。(id 主键、`version` 乐观锁、is_delete 伪删除、gmt_create 创建时间、gmt_update 修改时间)
6.字符集编码不设置的话,会是默认的Latin1(不支持中文!)。可在MySQL文件夹中的my.ini中配置默认的编码(character-set-server=utf8),一般不建议配置


查看修改删除表 查看创建语句
--查看创建数据表的语句 SHOW CREATE DATABASE school--查看student数据表的定义语句 SHOW CREATE TABLE student--显示表的结构 DESC student


修改
-- 修改表 ALTER TABLE 旧表名 RENAME AS 新表名 ALTER TABLE teacher RENAME AS teacher1 -- 增加表的字段 ALTER TABLE 表名 ADD 字段名 列属性 ALTER TABLE teacher1 ADD age INT(11) -- 修改表的字段 (重命名,修改约束!) -- ALTER TABLE 表名 MODIFY 字段名 列属性[] ALTER TABLE teacher1 MODIFY age VARCHAR(11) -- 修改约束 --ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性[] ALTER TABLE teacher1 CHANGE age age1 INT(1) -- 字段重命名


删除
-- 删除表的字段:ALTER TABLE 表名 DROP 字段名 ALTER TABLE teacher1 DROP age1 -- 删除表(如果表存在再删除) DROP TABLE IF EXISTS teacher1



小结:
  • 所有的创建和删除操作尽量加上判断,以免报错
  • SQL关键字大小写不敏感,建议大家小写
  • 所有的符号都用英文
  • IF EXISTS 判断
  • change用来字段重命名,不能修改字段类型和约束
  • modify不用来字段重命名,只能修改字段类型和约束

    推荐阅读