数据库原理第4章 SQL语言

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值