SQL语言的特点
1)一体化。
2)高度非过程化。
3)面向集合的操作方式。
4)提供多种方式使用。
5)语言简洁。
SQL语言的功能:数据定义、数据查询、数据操纵、数据控制
SQL支持的数据类型:
1)数值型:精确数字,如int,begin,tinyint等;近似数字,如float,real等。
2)日期时间型:datetime,date等。
3)字符串型:普通字符编码串,如char,text等;统一字符编码串,如nchar,ntext等;二进制串,如bit等。
4)其他类型:如xml,table等。
数据定义功能:数据库创建 create datebase<数据库名称>
数据库修改 alter datebase<数据库名称>
数据库删除 drop datebase<数据库名称>
表的创建 create table <表名>
表的修改 alter table(表,数据库)
表的删除 drop table(元组,列)
列完整性约束条件定义(约束只涉及一个列)
not null:非空约束
primary key:指定本列为主键
foreign key:定义本列为引用其他表的外键
unique:限制列的值不能重复
default:指定列的默认值
check:约束列取值范围
表级完整性约束定义(约束涉及多个属性列)
primary key:指定本列为主键
数据查询功能:
1)单表查询:
查询语句的基本结构:
1)select用于指定输出的字段;
2)from用于指定数据来源;
3)where用于指定数据的行选择条件;
4)group by用于对检索到的纪录进行分组;
5)having用于指定分组后的选择条件;
6)order by用于对查询的结果进行排序。
选中表中若干列:1.指定列select <目标列名序号>;2.全部列:用"*"代替。
选中表中若干行:1.查询满足条件的元组:比较大小(=,>,<,==,!=等);确定范围(between 下限值 and 上限值);确定集合(in,not in);字符串匹配(like,not like,_,%,[]);涉及空值查询(空值不能运算,is null,not is null,count函数)。
多重条件查询:在where后面使用逻辑运算符and or来组成多条件查询。
消除取值相同行:distinct。
对查询结果进行排序:order by;默认升序 asc;降序 desc。
聚合函数:
1)count(*)统计元组个数;
2)count(<列名>)本列列值个数;
3)sum()计算列的和值;
4)avg()计算列的平均值;
5)max()计算列的最大值;
6)min()计算列的最小值。
2.多表连接查询:
内连接:
1)from 表1 inner join 表2 on <连接条件>;
2)from 表1,表2 where <连接条件>
外连接:from 表1 left/right/outer join 表2 on <连接条件>
3)将查询结构保存到表中:select 列表序列 into <表名> from 数据源
4)子查询:
定义:select ... from ... where ... 为一个查询块。
用子查询基于集合测试:in或者not in进行结果比较。
用子查询基于比较测试:通过比较运算符。
带有some或all的子查询
带exists的子查询:exists,not exists(当有满足条件的数据时,返回假值,双重否定表示肯定)。
5)查询的集合运算:并 union;交 intersect;差 except。
数据更改功能:
1.数据插入:单行 insert <表名> values(值列表);多行 insert <表名> select ...
2.数据更新:update
3.数据删除:delete
视图:
概述:基于SQL语句结果集的可视化表,此表为虚表,视图的修改不会影响到表。
定义:create view
修改与删除:修改 alter view;删除 drop view