Mysql语法总结

创建数据库

1
create database database_name;

删除数据库

1
drop database database_name;

选择数据库

1
use database_name;

Mysql数据类型

数值类型

type Byte usage
tinyint 1 小整数值
smallint 2 大整数值
mediumint 3 大整数值
int或integer 4 大整数值
bigint 8 极大整数值
float 4 单精度浮点型
double 8 双精度浮点型
decimal 对decimal(m,d),为max(m,d)+2 要求精度的小数值

日期和时间类型

字符串类型

二进制类型

type Byte usage
binary(n) n 较短的二进制数
varbinary(n) 实际占用的字节数 较长的二进制数
bit(n) n 短二进制数
tinyblob 实际占用的字节数 较短的二进制数
blob 实际占用的字节数 图片、声音等文件
mediumblob 实际占用的字节数 图片、声音、视频等文件
longblob 实际占用的字节数 图片、声音、视频等文件

创建数据表

1
create table table_name(column_name column_type);

示例:

1
2
3
4
5
6
create table if not exists example_table(
example_id int unsigned auto_increment,
example_title varchar(100) not null,
example_date date,
primary key(example_id)
) engine=innodb default charset=utf8 ;

删除数据表

1
drop table table_name;

插入数据

1
2
3
4
insert into table_name
(field1, field2, ...fieldn)
values
(value1, value2, ...valuen);

查询语句

1
2
3
select column_name, column_name from table_name
[where clause]
[limit N] [offset M];

where子句

1
2
3
select column_name, column_name from table_name
where condition1 and/or condition2 ...
[limit N] [offset M];

分页语句

N代表每页显示row的数量,M代表偏移量,M =(当前第几页 - 1)* N

update语句

1
2
update table_name set field1=new_value1, field2=new_value2 ...
[where clause];

delete语句

1
delete from table_name [where clause];

truncate delete drop比较

1
2
3
4
5
6
7
8
-- 删除该表所有row,不会在日志中记录删除内容,效率较高,
--新增记录主键从初始值开始重新自增长
truncate table table_name;
-- 删除该表匹配的row(某行或全部),在日志中记录删除内容
-- 新增记录主键继续自增长
delete from table_name [where clause];
-- drop将会删除表的所有内容
drop table table_name;