1、选择语句
SELECT * FROM 表A T(表示用T代表表A别名,当表名过长时,别名很省事) WHERE 条件
这个语句主要是从表格中选择,*代表所有,也可以选择特定列,用表A.字段名,可以指定多个字段
*换成 T.*,T.ROWID 就可以将选择出来的数据开锁更改,用于修正数据,也可以在语句后面加上FOR UPDATE 来更新,但是后者会锁定表,因此尽可能快地改完。
通常可以在表A处填写两个有同一关联字段的表名,就可以在条件处用关联字段将两表全部或部分字段全部选出来。用于选择比对数据。
如:SELECT * FROM 表A A,表B B WHERE A.关联字段=B.关联字段 and 其他条件
2、插入语句
INSERT INTO 表B AS SELECT * FROM 表A WHERE 条件
条件可以设为1=2,就可以只拷贝表结构,不复制任何数据。
当然,对于表结构会改变的话,还可以使用字段对应插入法:
INSERT INTO 表B(Z字段1,字段2......) select 字段1,字段2...... FROM 表C
注意字段顺序要对应。
3、删除语句
drop table 表A 删除表定义,释放空间;
truncate table 表B 删除内容,释放空间,隐式提交,不可ROLLBACK
DELETE FROM 表A WHERE 条件 删除表内容,可以撤销。
删除需要再三核对才可提交!
4、更新语句
UPDATE 表A SET 字段A=值 WHERE 条件;
异表更新,要将值设为select 值
UPDATE 表A SET 字段A=(SELECT 字段B FROM 表B WHERE A.字段1=B.字段2) WHERE 条件;
对于两表都是拥有唯一对照字段的时候,可以改写为MERGE 语句,可以极大提高更新效率
MERGE INTO 表A USING 表B ON(A.唯一码=B.唯一码) WHEN MATCHED THEN UPDATE SET A.字段C=B.字段D WHERE 条件;
5、建表语句
CREATE TABLE A(字段 类型,...)
根据已有表创建 CREATE TABLE A AS SELECT * FROM B WHERE 条件;
创建空表就加上1=2条件,否者去掉条件或加上其他条件。
网友评论