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
SQL基本语句
猜你喜欢
转载自ztao2333.iteye.com/blog/2271901
今日推荐
周排行