SQL语句大全

好记性不如烂笔头,把自己的理解记下来,等回过头来看又是不一样的效果

1.基础

1. CREATE DATABASE database-name //创建数据库
2. DROP DATABASE dbname //删除数据库
3. USE master
//备份sql server
EXEC sq_addumpdevice 'disk','testBack','c:mssql7backupMyNwind_1.dat'
--开始备份
BACKUP DATABASE pubs TO testBack
4. CREATE TABLE tabname(列名 类型 [主键/不为空]) //创建新表
5. CREATE table tab_new like tab_old //使用旧表创建新表
6. drop table tabname //删除新表
7. Alter table tabname add column col type //增加一个列(列增加后将不能删除,DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度)
8. Alter table tabname add primary key(col) //添加主键
9. Alter table tabname drop primary key(col) //删除主键
10. create [unique] index idxname on tabname(col...) //创建索引 --索引是不可更改的,想更改必须删除重新建
11. DROP INDEX idxname //删除索引
12. CREATE VIEW viewname as select statement //创建视图
13. DROP view viewname //删除视图
14. select * from table1 where 范围 //查询带条件
15. insert into table1(field1,filed2) values(value1,value2) //插入
16. delete from table1 where 范围	//删除
17. update table1 set filed1=value1 where 范围 //更新
18. select * from table1 where filed1 like '%value1%' //模糊查询
19. select * from table1 order by field1,field2 [asc/desc] //排序 --默认asc升序,desc为降序
20. select count as totalcount from table1 //查询总数
21. select sum(field1) as sumvalue from table1 //求和
22. select avg(field1) as avgvalue from table1 //平均值
23. select max(field1) as maxvalue from table1 //最大值
24. select min(field1) as minvalue from table1 //最小值
//几个高级查询运算词
UNION 运算符
UNION运算符通过组合其他两个结果集(列如 表1和表2)并消除表中任何重复行而派生出一个结果表,当ALLUNION一起使用时(即UNION ALL),不消除重复行,两种情况下,派生表的每一行不是来自表1就是表2
EXCEPT 运算符
EXCEPT运算符通过包括所有在表1中但不在表2中的行并消除所有重复行而派生出一个结果表。当ALL随着EXCEPT一起使用时不消除重复行
INTERSECT 运算符
INTERSECT运算符通过只包括表1和表2中都有的行并消除所有重复行并派生出一个结果表。当ALL随着INTERSECT一起使用时,不消除重复行
注:使用运算符的几个查询结果行必须是一致的
外连接
1.left join
左外连接:结果集既包括连接表的匹配行,也包括做连接表的所有行
select * from A LEFT JOIN B ON A.id = B.id
2.rigin join
右外链接:结果集既包括连接表的匹配行,也包括右连接表的所有行
select * from A rigin JOIN B ON A.id=B.id
3.inner join
内连接:不仅包括符号连接表的匹配行,还包括两个连接表的所有记录
select * from A inner join B ON A.id=B.id
//分组 group by
一张表,一旦分组完成后,查询后只能得到组相关的信息
在select统计函数中的字段,不能和普通的字段放在一起
select * from table1 group by filed1
//分离数据库
sq_detach_db
//附加数据库
sq_attach_db 后接表名,附加需要完整的路径名
sq_renamedb 'oldname','new_name' //修改数据库的名称

2.提升

//复制表 --只复制结构,原表名a ,新表名 b
select top 0 * into b from a
//拷贝表 --拷贝数据,原表名a ,新表名 b
insert into b(a,b,c) select d,e,f from b
//跨数据库之间表的拷贝(具体数据使用绝对路径)
insert into b(a,b,c) select d,e,f from b in '具体数据库' where 条件
//子查询
select a,b,c from a where a IN (select d from b)
select a,b,c from a where a IN (1,2,3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值