SQL的数据操作(三)
上一篇中初略了解到,操作数据库的三种基本语句,insert,update,delete,还有之前提到的查询基本语句select
实际应用中,有些其他类似功能的实现语句,例如:
1. TOP相关语句
搜索前N条记录
select (TOP N ) * from table_name where condition....
搜索前 N% 部分的记录
select (TOP N PERCENT) * from table_name where condition....
2. TRUNCATE语句
语法:TRUNCATE TABLE table_name
应用范围:
1) TRUNCATE 的处理速度相对较快;
2) DELETE操作是写日志文件的,请求处理后可通过ROLLBACK命令撤销,但TRUNCATE是一个DDL语言,请求被隐式提交,不能被撤销;
3) TRUNCATE清空表后表和表的索引将重新设置成会初始大小,当DELETE不能;
4) TRUNCATE作用是删除表中所有的行,其后不接WHERE条件语句,直接删除行记录
3. 表结构的修改
在已存在的表中增加新列
语法:ALTER TABLE table_name ADD (colname datatype(len))
eg: ALTER TABLE student ADD (department char(8))
增加已有列的数据类型
语法:ALTER TABLE table_name MODIFY(colname datatype(len))
eg: ALTER TABLE student MODIFY (name, VARCHAR(25))
4. 表的删除
删除已存在的数据表
语法:DROP TABLE table_name
eg: DROP TABLE STUDENT
5. 表的创建
创建新的数据表
语法:CREATE TABLE table_name
(colname1 datatype[len/size] [......])
创建表时必须指定表名、列名,每一列必须指定数据类型,
对应给定的表来说,列名必须唯一,同一数据库中不同表的列名称可以相同
常用的数据类型: int, char, date
6. 创建带约束条件的表
创建新的数据表
语法:CREATE TABLE table_name
colname datatype [COLLATE<collation_name>][NULL|NOT NULL]
[......]
应用规则:
创建表时必须指定表名、列名,每一列必须指定数据类型,
对应给定的表来说,列名必须唯一,同一数据库中不同表的列名称可以相同
主要使用的约束条件:
1) 主键(primary key):唯一标识每一行
一个表中只可以定义一个主键,且主键列中不能输入NULL值,最多可定义16列作为主键
eg:CREATE TABLE table_name_1(col1 int primary key, col2 int) 创建单一主键
CREATE TABLE table_name_1(col1 int, col2 int, constraint col primary key(col1, col2))
2) 外键(foreign key)定义列值与另一个表的primary key相匹配的列
1)Foreign key约束必须引用另一个表的Primary key或Unique约束,
相关表中定义为主键的所有列必须作为Foreign key所包含在当前表中,
eg:CREATE TABLE table_name_2(col21 int primary key, col22 int, foreign key(col) references table_name_1(col))
3) CHECK约束 根据指定值测试列中的输入值
CHECK约束条件可以引用同一表中的列
4) 唯一性约束(Unique)在列中应用Unique约束以确保列中所有行的值均不相同
可以向表中多列应用unique约束,向现有表应用unique约束时,一直会验证现有数据
eg: CREATE TABLE table_name_4(col1 int unique)
5) 删除约束 对不需要的约束条件从列中删除
语法:ALTER TABLE table_name DROP CONSTRAINT collate
说明:删除列之前必须先删除列中的约束