SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
数据控制语句(DML)
1.插入数据
INSERT INTO 表名(字段1,字段2) VALUES(值1,值2)
复制表和内容:
INSERT INTO 表名(字段1,字段2) SELECT(字段1,字段2) FROM 另外的表名
只复制表结构:
INSERT INTO 表名(字段1,字段2) SELECT(字段1,字段2) FROM 另外的表名 WHERE 1<>1
日期字段的值可以用当前数据库的系统时间SYSDATE,精确到秒或者用字符串转换成日期型函数TO_DATE('2013-11-12','YYYY-MM-DD') YYYY-MM-DD HH24:MI:SS
字符串类型必须用单引号括起来,最大的可操作长度小于或等于4000个单字节。如果要插入更长的字符串,请考虑字段用的CLOB类型。
INSERT时如果要用到1形始自动增长的序列号,应该先建立一个序列号。
CREATE SEQUENCE 序列号名称 INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE.INSERT 语句插入时,这个字段的值为: 序列号名称.NEXTVAL
2.DELETE
DELETE FROM 表名 WHERE 条件
删除记录并不能释放ORACLE里被占用的数据块空间,它只把那些被删除的数据块标成UNUSED.如果一定要删除一个大表里面的全部记录,可以用:TRUNCATE 表名
删除重复记录
DELETE FROM 表名 WHERE 主键 NOT IN (SELECT MAX(ID) FROM 表名 GROUP BY 字段1,字段2....)
3.UPDATE
UPDATE 表名 SET 字段名 字段1=值1 WHERE 条件。
数据定义(DDL)
1.CREATE
创建数据库
CREATE DATABASE 数据库名
删除数据库
DROP DATABASE 数据库名
创建表
CREATE TABLE 表名(
字段名,类型, 约束
字段名,类型,约束
)
删除表
DROP TABLE 表名
2.ALTER
改变表的名称
ALTER TABLE 表名1 TO 表名2
在表的后面加一个字段
ALTER TABLE 表名 ADD 字段名 字段名描述
修改一个字段
ALTER TABLE 表名 MODIFY 字段名 字段名描述
在表的一个字段上加一个约束条件
ALTER TABLE 表名 ADD CONSTRAINT 约束名字 PRIMARY KEY(字段名)
ALTER TABLE 表名 ADD CONSTRAINT 约束名字 UNIQUE(字段名)
把表放在内存空间
ALTER TABLE 表名 CACHE;
ALTER TABLE 表名 NOCACHE;
创建主键
ALTER TABLE 表名 ADD PRIMARYKEY(字段名)
删除主键
ALTER TABLE 表名 DROP PRIMARYKEY(字段名)
3. DROP
删除表和它所有的约束条件
DROP TABLE 表名 CASCADE CONSTRAINTS;
4. TRUNCATE 清空表的记录并保留结构
TRUNCATE 表名。
三 查询
SELECT 字段1,字段2 FROM 表1,表2 WHERE 条件
字段可以带入函数。 count(*), MIN(字段名),AVG(字段名),DISTINCT(字段名),TO_CHAR(DATA字段名,'YYYY-MM-DD HH24:MI:SS')
字查询
SELECT 字段1,字段2 FROM 表名 WHERE 字段 IN (SELECT 字段 FROM 表名)
SELECT 字段1,字段2 FROM 表名 WHERE 字段 IN(1,2,3)
嵌套查询
SELECT 字段1,字段2 FROM 表1,表2
查询从10到15的记录
SELECT TOP 5 * FROM (SELECT TOP 15 * FROM 表名 ORDER BY 主键 ASC ) 表别名 ORDER BY 主键 DESC.
集合操作
并集 UNION(去掉重复记录),UNION ALL(不去掉重复记录),差集团MINUS,交集 INTERSECT
分组查询
SELECT 字段名,字段名2 FROM 表名 GROUP BY 字段名1 HAVING 条件
连接
JOIN:如果表中有至少一个匹配,则反回行。
LEFT JOIN:即使表中没有匹配,也从左表返回所有的行。
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行。
FULL JOIN:只要其中一个表中存在匹配。
四 常用数据对象
索引
CREATE INDEX 索引名 ON 表名(字段1,字段2.)
ALTER INDEX 索引名 REBUILD;
一个表的索引最好不要超过三个,最好用单字段索引.
视图
CREATE VIEW 视图名 AS SELECT ... FROM ...
ALTER VIEW 视图名 COMPILE;
同义词
CREATE SYNONYM 同义词名 FOR 表名
CREATE SYNONYM 同义词名 FOR 表名@数据库链接名。