1.创建数据库表:
-- 使用英文的(),表的名称和字段尽量用``括起来,AUTO_INCREMENT是自增
-- 注释是COMMENT,字符串使用单引号括起来,所有语句后边加,(最后一个字段除外)
-- 默认是 DEFAULT
-- PRIMARY KEY 主键,一般一个表只有唯一的一个主键!
-- 常用命令:DESC `XXX` 显示表的结构
CREATE TABLE IF NOT EXISTS `students`
(
`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(20) DEFAULT NULL COMMENT \'邮箱\',
PRIMARY KEY(`id`)
)ENGINE =INNODB DEFAULT CHARSET=utf8
格式:
CREATE TABLE IF NOT EXISTS `表名` ( \'字段名\' 列类型 [属性][索引][注释],
\'字段名\' 列类型 [属性][索引][注释],
……………………
\'字段名\' 列类型 [属性][索引][注释],
)[表类型][字符型设置][注释]
2.数据表的类型:
(1)关于INNODB(默认使用) 和 MYISAM(早些年使用)引擎的对比:
| MYISAM | INNODB | |
| 事务支持 | 不支持 | 支持 |
| 数据行锁定 | 不支持 | 支持 |
| 外键约束 | 不支持 | 支持 |
| 全文索引 | 支持 | 不支持 |
| 表空间的大小 | 较小 | 较大,约为2倍 |
常规使用操作:
MYISAM: 节约空间,速度较快
INNODB: 安全性高,事务的处理,多表多用户操作
在物理空间存在的位置:
所有的数据库文件都在data目录下,本质还是文件的存储。
MySQL引擎在物理文件上的区别:
INNODB在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
MYSIAM对应文件:
①*.frm -表结构的定义文件
②*.MYD -数据文件(data)
③*.MYI 索引文件(index)
3.修改删除表
(1)修改表和字段名:
-- 修改表名 ALTER TABLE 原表名 RENAME AS 新表名; -- 增加表的字段 ALTER TABLE 表名 ADD 新加字段(列)名 列属性; -- 修改表的字段(重命名、修改约束) -- 修改约束: ALTER TABLE 表名 MODIFY 字段名 新的约束; -- 字段重命名 ALTER TABLE 表名 CHANGE 原字段名 新字段名 列属性;
注意,modify只能用来改约束;change只能用来改列属性
(2)删除
-- 删除表的字段 ALTER TABLE 表名 DROP 字段名
-- 删除表
DROP TABLE IF EXISTS表名