一、查看SQL代码
SHOW CREATE DATABASE `数据库名`
SHOW CREATE TABLE `表名`
粘贴过来就可以得到SQL代码
CREATE TABLE `student` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '学号',
`varchar` 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 '家庭住址',
`emial` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8
二、常用命令
显示表结构
DESC ``表名
三、数据库引擎
- INNODB: 默认使用
- 安全性高、事务处理、多表用户操作 - MYISAM: 早些年使用
- 节约空间,速度较快
MYISAM | INNODB | |
---|---|---|
事务 | 不支持 | 支持 |
数据行锁定 | 不支持(支持表锁定) | 支持 |
外键 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间的大小 | 较小 | 较大,约为前者的两倍 |
在物理空间存在的位置
所有的数据库文件都在 data 目录下,本质还是文件的存储
MySQL 引擎在物理文件上的区别
- INNODB 在数据库表中只有一个
.frm
文件,以及上级目录下的ibadata1
文件 - MYSIAM 对应的文件:
.frm
文件(表结构的定义文件).MYD
数据文件(data).MYI
索引文件(index)
四、设置数据库表的字符集编码
CHARSET = UTF8
- 不设置的话,会是 MySQL 默认的字符集编码 ( 不支持中文 )
- MySQL 的默认编码是 Latin1,不支持中文。
- 也可以在my.ini 中配置默认的编码
修改数据库表
1、修改表
ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE student RENAME AS teacher
2、增加表的字段
ALTER TABLE 表名 ADD 新字段名 字段的列属性
ALTER TABLE student ADD age INT(11)
3、修改表的约束
ALTER TABLE 表名 MODIFY 新表名 列属性
ALTER TABLE student MODIFY age VARCHAR(11)
修改表的字段
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性
ALTER TABLE student CHANGE age age1 INT(11)
修改表中字段的位置
ALTER TABLE 表名 MODIFY 字段名 字段类型 after 字段
例:将id字段设置为第一个字段
ALTER TABLE sensor2 MODIFY id INT(10) AUTO_INCREMENT FIRST
删除表的字段:
ALTER TABLE teacher DROP age1
删除表:( 注意条件 )
DROP TABLE IF EXISTS student
五、操作符
操作符 | 含义 | 范围 | 结果 |
---|---|---|---|
= | 等于 | 5=6 | FALSE |
<> 或 != | 等于 | 5<>6 | TRUE |
< | 等于 | ||
> | 等于 | ||
<= | 等于 | ||
>= | 等于 | FALSE | |
BETWEEN a AND b. | a 和 b 之间 | [a,b] 闭区间 | |
AND | |||
OR |
注:
- 所有的创建和删除操作尽量加上判断,以免报错
- 创建的字段名 使用 `` 包裹
- SQL 关键字大写不敏感,建议小写
- 所有的符号都用英文的!