SQL基本语句

1、创建数据库
create database database-name
2、删除数据库
drop database dbname
3、增加一个列
alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,
唯一能改变的是增加archar类型的长度。
4:添加/删除主键
alter table tabname add/drop primary key
5:创建索引
create index idxname on tabname(col...)
6:删除索引
drop index idxname
注:索引是不可更改的,想更改必须删除重新创建
7:几个简单的sql语句
选择:select * from table where 
插入:insert into table(field1,field2) values(value1,value2)
删除:delete from table1 where 
更新:update table1 set field1=value1 where
模糊查找:select * from table1 where field1 like '%value1%' 
     like的语法很精妙,查资料。
通配符:%替代0个或多个字符 
       _替代一个字符
       [charlist]字符列中的任何单一字符
       [^charlist]不在字符列中的任何单一字符
       [!charlist]不在字符列中的任何单一字符

返回唯一不同的值:select distinct column_name,column_name from table1
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:       avg(field1)    avgvalue
11:几个高级查询运算词
A:union运算符
union运算符通过组合其他两个结果表,并消去表中任何重复行而派生出一个结果表。
当all随union一起使用时,(即union all),不消除重复行。两种情况下,派生表的每一行不是来自table1就是来自table2.
B:except
except运算符通过包括所有在table1中但不在table2中的行并消除所有重复行而派生出一个结果表。当all随except一起使用时(except all),不消除重复行。
C:intersect相交
intersect通过只包括table1和table2中都有的行并消除所有重复行而派生出一个结果表。当all随intersect一起使用时(intersect all),不消除重复行。
注:使用运算符的几个查询结果行必须是一致的。
12:使用外连接
left join   right join
SELECT Orders.OrderID, Employees.FirstName
FROM Orders
RIGHT JOIN Employees
ON Orders.EmployeeID=Employees.EmployeeID
ORDER BY Orders.OrderID;
注:RIGHT JOIN 关键字从右表(Employees)返回所有的行,即使左表(Orders)中没有匹配。
FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.
13:group by  having
where:子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
having:筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组。
select A count(B) from table group by A having count(B)>2
聚合函数:(count(),sum,max(),min())
select 类别,sum(数量) as 数量之和 from table group by 类别  分类汇总
having:
select 类别 ,sum(数量) as 数量之和 from table group by 类别 having sum(数量)>8

猜你喜欢

转载自ztao2333.iteye.com/blog/2271901