1.关于数据库
创建数据库
CREATE DATABASE database-name
删除数据库
drop database dbname
2.关于表
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],…)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
删除新表
drop table tabname
增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col)
创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
创建视图:create view viewname as select statement
删除视图:drop view viewname
简单查询
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
前括号内为要插入的表的列名,后括号为准备插入的字段
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’
‘%’ 表示多个字符,’_'表示一个字符
排序:select * from table1 order by field1,field2 [desc]
计算函数
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
表的别名
方式一:使用 AS 关键字,后面空格加别名
SELECT 100%89 AS 结果;
SELECT last_name AS 姓 ,first_name AS 名
FROM employees;
方式二:省略AS,用空格代替
SELECT last_name 姓 ,first_name 名
FROM employees;
使用外连接
A、left (outer) join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right (outer) join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full/cross (outer) join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
限制记录的行数
SELECT 字段列表
FROM 数据源
LIMIT [start,]length;
1.limit接受一个或两个整数参数。start表示从第几行记录开始输出,length表示输出的记录行数。
2.表中第一行记录的start值为0(不是 1)。
例:查询员工表的前5条记录
SELECT ename, deptno, sal
FROM emp
LIMIT 0,5;
排序规则
关键字:asc desc
数字升序排列小值在前,大值在后。即按照数字大小顺序由小到大排列。
日期升序排列相对较早的日期在前,较晚的日期在后。
字符升序排列按照字母由小到大的顺序排列。即由A-Z排列;中文升序按照字典顺序排列。
空值在升序排列中排在最前面,在降序排列中排在最后。
自连接
自身连接,也叫自连接,是一个表通过某种条件和本身进行连接的一种方式,就如同多个表连接一样。
SELECT worker.ename ‘WNAME’,manager.ename ‘LNAME’
FROM emp worker, emp manager
WHERE worker.mgr = manager.empno;
字符串方法
链接: https://www.libenfu.com/index.php/archives/413/