数据库创建
- 创建表
CREATE TABLE IF NOT EXISTS `student` (
`id` int(10) NOT NULL COMMENT 'id',
`name` VARCHAR(30) NOT NULL COMMENT '姓名',
`password` 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
- 常用命令
- SHOW CREATE DATABASE school -- 查看创建数据库的语句
- SHOW CREATE TABLE student -- 查看创建表的语句
- DESC student -- 显式表结构
MYISAM 和 InnoDB 引擎的区别
- 基本区别
MYISAM | InnoDB | |
---|---|---|
事务支持 | 不支持 | 支持 |
数据行锁定 | 不支持 | 支持 |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持(MySQL8.0以上支持) |
表空间的大小 | 较小 | 较大(约为MYISAM的两倍) |
-
优点
- MYISAM : 节约空间,速度较快
- InnoDB : 安全性高,支持事务,支持多表多用户操作
-
MySQL中所有的数据实际上都存在data目录下,本质还是文件的存储
修改和删除表
- 修改表名
ALTER TABLE 旧表名 RENAME AS 新表名
- 增加表字段
ALTER TABLE 表名 ADD 列名 列属性
- 修改表的字段属性,约束
ALTER TABLE 表名 MODIFY 字段名 字段属性
- 修改表的字段名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 字段属性
- 删除表字段
ALTER TABLE 表名 DROP 字段名
- 删除表
DROP TABLE IF EXISTS 表名