语法
进入数据库
mysql -u 用户名 -p -h ip
mysql -u root -p 访问本机的mysql数据库
库(目录)
show databases 查看所有的库
创建库
create database 库名
使用库
use 库名
创建表
create table 表名(
字段名 字段类型,
字段名 字段类型,
字段名 字段类型,
…
)
查看当前库下有那些表
show tables
查看表结构
desc 表名
删除表
drop table 表名
删除库
drop database 库名
主键约束
primary key
通过主键能找到唯一的一条记录
非空且唯一
当前表字段名 字段类型 primary key
外键约束
foreign key fk
约束的字段的取值
必须是另一个字段中存在的值
当前表字段名 字段类型 references 关联表名(关联约束字段名)
唯一约束UK
unique key
非空约束NN
not null
MySQL的类型
int 整数
long 长整数
decimal 浮点数
float 单精度
double 双精度
date yyyy-MM-dd
time hh:mm:ss
datetime yyyy-MM-dd hh:mm:ss
year yyyy或者yy
timestamp 时间戳yyyyMMddhhmmss
char 不超过255个字符的定长字符串
varchar 不超过255个字符的变长字符串
text 大文本65535个字符
blob 二进制文件
表结构修改
增加列
alter table 表名 add 列名 类型
修改列的类型
alter table 表名 modify 列名 类型
修改列的名字
alter table 表名 change column旧列名 新列名 类型
删除列
alter table 表名 drop column 列名
修改表名
rename table 旧表名 to 新表名
数据插入
insert into 表名 (字段名,…) values (对应字段值,…)
字符串使用’’
auto_increment关键字
删除数据
delete from 表名
修改数据
update 表名set 字段名=值,…
复制表
create table 表名
as (
需要复制的表
)
运算符
算术运算符
-
-
- / %
比较运算符
= > < >= <= !=或<>
in not in
- / %
-
数据库中的null比较
between and
like
%表示0或多个字符
_表示任意一个字符
逻辑运算符
not 或者 ! 非
and 或者 && 与 全1出1,有0出0
or 或者 || 或 有1出1,全0出0
xor 异或 相异为真,相同为假
函数
abs() 绝对值
ceiling(x) 不小于x的最小整数
mod(被除数,除数) 取余
pi()
rand() 随机数 [0,1)
truncate(num,截取位) 截取
Ifnull(x,y)
如果x为null,显示y的值
如果x不为null,显示x的值
组函数
avg() 平均值
count() 统计个数
min() 最小值
max() 最大值
sum() 求和
now() 当前日期
查询
select 列名/函数/表达式/子查询
from 表名/子查询
where 条件表达式
group by 字段名
having 筛选条件表达式
order by 字段名/函数 asc/desc/不写