Day2:MySQL操作数据表语句
一、创建数据库表
1.1 创建数据库表的语句:
建表的公式可总结为:
CREATE TABLE [IF NOT EXISTS] `表名` (
`列名` 列类型 [属性] [索引] [注释],
......
`列名` 列类型 [属性] [索引] [注释]
PRIMARY KEY(`列名`) -- 主键设置
)[表类型][字符集][注释]
- 表的列名、表的名称都要用``(飘键)来包括
- 列的数据类型是必写的,[ ]是可写可不写的
- 属性名称:NOT NULL(非空)AUTO_INCREMENT(自增)DEFAULT (默认)
- 注释:COMMENT ‘字符串’(是单引号,不是飘键)
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 '出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY(`id`) -- 主键设置
)ENGINE=INNODB DEFAULT CHARSET=utf8
1.2 常用命令:
SHOW CREATE DATABASE school; -- 查看创建数据库的语句
SHOW CREATE TABLE student; -- 查看数据表的定义语句
DESC student; -- 显示表的结构
二、数据表的类型
常见的有两种,它们的不同之处有:
- INNODB: 默认使用 ,安全性高,事务的处理,多表多用户操作
- MYISAM: 早先经常使用,节约空间,速度较快
三、数据表的字符集编码
不进行设置的话,会是mysql默认的字符集编码(Latin 1,不支持中文)
CHARSET=utf8
四、修改和删除数据库表
4.1 修改表的语句:
-- 修改表名
ALTER TABLE student RENAME AS student1; -- 修改表的名称
-- 增加表的字段
ALTER TABLE student1 ADD age INT(11); -- 给表添加一列
-- 修改表的字段(重命名,修改约束)
ALTER TABLE student1 MODIFY age VARCHAR(11); -- 只能修改表的约束,不能重命名
ALTER TABLE student1 CHANGE age age1 INT(1); -- 可以重命名及改变约束
-- 删除表的字段
ALTER TABLE student1 DROP age1; -- 删除字段
4.2 删除表的语句:
-- 删除表
DROP TABLE IF EXISTS student1;