常用SQL命令
show databases 列出所有数据库
show create 数据库名 查询数据库的字符集信息
show tables 列出数据库的所有表
use 数据库名 应用数据库
use 表名 应用表
create database 数据库名 创建一个数据库
create table 表明 创建一个表
drop database 数据库名 删除一个数据库
alter database 数据库名 character set 字符集名称 修改数据库的字符集
if exists 如果存在
if not exists 如果不存在
engine=引擎(常用是INNODB)
charset=字符集(如utf-8请写成utf8)
character set 数据库默认字符集
collate 设置数据库默认校验字符集
show create database 数据库名 查看数据库的定义语句
show create table 数据表名 查看数据表的定义语句
DESC 查看数据表的结构
alter table 就数据表名 rename as 新表名 修改数据表名
alter table 表名 add 字段名 字段属性 增加一个字段
alter table 数据表名 modify 字段(已存在) 字段属性 修改字段属性
alter table 数据表名 change 旧字段名 新字段名 字段属性 字段重命名(也可以修改字段属性)
alter table 数据表名 drop 字段 删除字段
注意:mysql中不区分大小写
mysql中的四种语言
DDL 定义语言。操作数据库、表
DML 操作语言。操作数据库中表的信息
DQL 查询语言。查询数据库中表的信息
DCL 控制语言。授权
数据库中的列类型
数值
tinyint 极小的数据 一个字节
smallint 较小的数据 两个字节
medium 中等的数据 三个字节
int 标准数据 四个字节
bigint 大的数据 八个字节
float 单精度 四个字节
double 双精度 八个字节
decimal 字符串形式的浮点数 金融计算的时候一般用这种形式,主要是为了解决浮点数精度问题
字符串
char 固定长度的字符串 0~255
varchar 可变字符串 0~65535
tinychar 微型文本 2^8-1
text 文本串 2^16-1
decimal(p,d) 精确的数值,p是有数数字的长度,d是小数点后面的位数
时间日期
date XXXX.XX.XX日期
time XX:XX:XX时间
datetime XXXX.XX.XX XX:XX:XX时间日期
timestamp 时间戳。从1970年1月1日到现在的毫秒数
year 年份
Null
空值、未知值
需要注意的是不要使用null进行运算,任何值和null运算,最终的结果一定是null
数据库的字段属性
长度 最大显示宽度。int类型跟0填充有关
Unsigned 无符号整数。勾上之后该列就不能写负数了
zerofill 0填充。不足的位数用0填充
非空(not null) 该列不能为空
自增(auto_increment) 在上一行的基础上自增,可以设置步长,默认为1
默认 (default) 就是默认值的意思
主键(primary key)
创建数据库格式
create database [if not exists这里是可选的]·库名;
创建数据表格式
create table [if not exists这里是可选的]表名(
`字段值` 列类型 [属性] [索引] [注释],
`字段值` 列类型 [属性] [索引] [注释],
…
`字段值` 列类型 [属性] [索引] [注释],
)[表引擎类型] [字符集] [注释]
·
MyASIM引擎和INNODB的区别
| MyASIM | INNODB | |
|---|---|---|
| 物理存储结构 | 分成三个文件存储,.frm表结构定义文件,*.MYD数据文件,.MYI索引信息文件,是表数据文件中任何索引的数据树 | 只有一个*.frm文件,以及上级目录的*.idb文件 |
| 事务支持 | 不支持 | 支持 |
| 行锁定 | 不支持 | 支持 |
| 外键约束(也就是链接外表) | 不支持 | 支持 |
| 全文索引(查找表中的内容) | 支持 | 不支持 |
| 表空间大小 | 较小 | 较大,约为MyASIM的2倍 |
两者的优点
MyASIM:体积小,速度快
INNODB:安全性高,支持事务处理、多表多用户

被折叠的 条评论
为什么被折叠?



