SQL语句总结基础篇
创建数据库
CREATE DATABASE 数据库名称;
删除数据库
DROP DATABASE 数据库名称;
创建新表
create table 表名(列 类型 ,列 类型 ,..);
根据已有的表创建新表
1. create table 新表名 like 旧表名; 2. create table 新表名 as select 列1,列2… from 旧表名 definition only
删除表
DROP TABLE 表名;
新增列
ALTER TABLE 表名 add column 列 类型;
添加主键
ALTER TABLE 表名 add primary key(列);
删除主键
ALTER TABLE 表名 drop primary key(列);
创建索引
create [unique] index 索引名称 on 表名(列….);
删除索引
drop index 索引名;
创建视图
create view 视图名称 as select statement;
删除视图
drop view 视图名;
查询
select * from 表名;
条件查询
select * from 表名 where 条件;
插入
insert into 表名(列名1,列名2) values(值1,值2);
删除
delete from 表名; 注意:不加条件会删除整个表的内容 delete from 表名 where 条件;
更新
update table1 set field1=value1 where 条件;
模糊查找
select * from 表名 where 列 like ’%值%’ ;
排序
select * from 表名 order by 列 [desc]; 默认为升序,desc为倒序
求行数
select count as 别名 from 表名;
求和
select sum(列) as 别名 from 表名;
求平均
select avg(列) as 别名 from 表名;
求最大值
select max(列) as 别名 from 表名;
求最小值
select min(列) as 别名 from 表名;
修改数据库的名称
sp_renamedb '旧名', '新名';
切换数据库
use 数据库名称;
左外连接
select 表名.列名 from A表名 LEFT OUT JOIN B表名 ON A表名.A表列名 = B表名.B列名;
右外连接
select 表名.列名 from A表名 RIGHT OUT JOIN B表名 ON A表名.A表列名 = B表名.B列名;
全外连接
select 表名.列名 from A表名 FULL OUT JOIN B表名 ON A表名.A表列名 = B表名.B列名;
分组
select 列名, 组名, max(age) from 表名group by 列名;
数据库备份
#myslq备份 mysqldump -u 用户名-h 主机地址 -p 数据库名 > 备份文件名称 //备份整个数据库 mysqldump -u 用户名-h 主机地址-p 数据库名 表1, 表2 > 备份文件名称 //备份表 mysqldump -u 用户名-h 主机地址-p --all-databases > 备份文件名称 //备份所有数据库 mysqldump -u 用户名-h 主机地址 -p --databases 数据库1, 数据库2 > 备份文件名称 //备份多个数据库 #mysql导入数据 mysql -u 用户名 -p 密码 < 要导入的数据库数据文件
#mongoDB备份 mongodump -h 主机地址 -d 数据库名称 -o 备份目录 #mongoDB备份恢复 mongorestore -h 主机地址:端口 -d 数据库名 备份目录
#DB2备份 db2 backup database 数据库实例名 to 备份目录 #DB2备份恢复 db2 restore db 数据库实例名from <location> taken at <timestamp> replace existing