mysql常用语句

#创建数据库
create database 库名;
#数据库不存在创建,存在不创建
create database is not 库名;
#创键数据库并指定字符集
create database 库名 character set 字符集;
#查看所有数据库
show database;
#查看某个数据库定义信息
show create database db3;
#修改数据库
alter database db3 character set utf8;
#删除数据库
drop database 数据库名;
#查看正在使用数据库
select database();
# 使用/切换数据库
use 数据库名;
# 创建表
create table 表名(字段1 字段类型1, 字段2 字段类型2);
# 查看表
show tables;
# 查看表结构
desc 表名;
#查看创建表sql
show create table 表名;
#快速创建一个表结构相同的表
create table 表名 like 旧表名;
#删除表
drop table 表名;
# 判断是否存在删除表
drop table if exists 表名;
#添加表列结构
alter table 表名 add 列名 类型;
#修改列类型
alter table 表名 modify 列名 新类型;
#修改列名
alter table 表名 change 旧列名 新列名 类型;
#删除列
alter table 表名 drop 列名;
#修改表名
rename table 表名 to 新表名;
#修改字符集
alter table 表名 character set 字符集;
#插入记录
insert into 表名(字段) values ();
insert into 表名 values ()
insert into 表名(部分字段) values (部分值);
#更新表
update 表名 set 字段名=;
update 表名 set 字段名=where 字段名=;
#删除表
delete from 表名 where 字段名=;
#删除表
truncate table 表名;
删除表结构,然后在创建一张表;
# 查询表
select 字段名 as 别名 ,字段名2 as 别名 from 表名 as 别名 where 条件;
# 清除重复值
select distinct 字段名 from 表名;
#某列数据和固定值
select 列表+固定值 from 表名;
#数据和其他数据
select 列表+列表 from 表名;
# 范围
select * from 表名 where 字段名 between  79 and 90
#like
select * from 表名 where 字段 like'%%'
# in
select * from 表名 where 字段 in ();
# 排序
select * from 表名 where 字段 dsec/asc , 字段 dsec/asc;
#聚合函数
max最大 min最小 avg平均 count统计 sum求和 
ifnull(列名,默认值) 如果列不为空返回值, 如果为null 返回默认值
#分组
select 字段名 from 表名 group by 分组字段 having 条件;
# limit 
select * from 表名 where 子句  limit 子句;
#备份
mysqldump -u用户名 -p密码 数据库 表名 > 文件路径/文件名;
#还原
source 文件路径/文件名;
#约束
主键 primary key
唯一 unique
非空 not null
外键 foreign key
检查约束 check
自增 auto_increment
默认值 default
#创建约束增加外键
constraint 外键约束名称 foreign key(外键字段名) references 主表名(主键字段名)
#已有表增加外键
alter table constraint 从表 add 外键约束名 foreign key  外键名 references 主表(主表字段名);
#删除外键
alter table 从表 drop foreign key 外键名称;
# 级联操作
on update cascade 级联更新
on delete cascade 级联删除

你可能感兴趣的:(mysql,数据库,sql)