sql语言基础Word文档格式.docx
《sql语言基础Word文档格式.docx》由会员分享,可在线阅读,更多相关《sql语言基础Word文档格式.docx(6页珍藏版)》请在冰豆网上搜索。
![sql语言基础Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/12/b8ecdf57-ef33-4047-a897-ffc052e23ef5/b8ecdf57-ef33-4047-a897-ffc052e23ef51.gif)
为表插入数据的命令
insertinto表名(列名,列名..)values(列内容,列内容)
insertintopeople(p_name,p_id)
values('
张三'
12345)
(1)查询表中的数据,基本查询技术
1、select*from表名“*”代表将表中的列全部显示出来
2、查询所有列:
select*from表名1,表名2,...
[where条件]
[groupby分组的列名]
[having聚合函数比较操作]
[orderby排序的列名]
如果只想查询某一列,或几列:
select列名1,列名1,列名2..from表名
3、
(2)更新数据库信息update语句:
update表名set列名1=值1,列名2=值2.....,where条件
(3)delete语句:
可以删除表中的一行或者多行语句
语法:
deletefrom表名where条件
numeric(p,n)
p代表数字类型的精度,插入数字的最大长度
n代表小数点后面的位数
修改表:
(1)为表添加列
altertable表名add列名列数据类型约束(default'
地名'
(2)删除表的列
altertable表名dropcolumn列名
注意:
如果删除表中列的时候,一定要注意此列是否含有约束对象。
如果有约束对象,则应该删除约束名,再删除表中所对应的列。
提示:
删除约束的时候,约束名不要用单引号修饰
删除表中的约束:
altertable表名dropconstraint约束名
(3)修改表中列的数据类型
比如:
增加varchar的长度
altertable表名altercolumn列名列数据类型
(4)约束:
约束的作用:
它是为了更好的保护数据库中数据的完整性,存储数据的一致性和正确性的一套机制。
sqlserver2005中有6种约束:
主键约束(primaryKeyconstraint)
唯一性约束(uniqueconstraint)
检查约束(checkconstraint)
默认约束(defaultconstraint)
外部键约束(foreignKeyconstraint)
空值(NULL)
主键有什么作用:
1、一个列被定义成主键后,此列中的数据不能为null
2、被定义成主键的列,其数据必须是唯一的
定义主键的方式:
(1)、
列名1数据类型1primarykey,
列名2数据类型2
(2)altertable表名addconstraintPK_表名primarykey列名
(3)createtable表名(
列名1数据类型1,
列名2数据类型2,
constraintPK_表名primarykey列名
3、外键foreignkey(介绍外键约束的定义)
外键是指用于建立实体与实体之间关系,当添加、修改、删除数据的时候,它可以保持两张表的数据一致性
外键就是针对表与表之间的关系确立而设置,让两个表能够相互联系
外键的第一个作用,当插入数据的时候,如果数据在父表中找不到,我们的外键就会阻止你进行一个插入操作
外键的第二个作用,保持两张表中关系数据的一致性
*重点内容,如何建外键
1、确立表之间的子父关系
2、外键一定是建在子表中,且该外键是父表中的主键那一列
createtable人口普查(
b_namevarchar(10),
b_sexvarchar
(2)constraintck_sexcheck(b_sex='
男'
orb_sex='
女'
*为列定义别名:
selectp_nameas姓名,p_dizhias地址from表名
select‘姓名’=p_name,‘地址’=p_dizhifrom表名
*distinct关键字
此关键字是为了过滤掉列中重复的值
selectdistinct列名from表名
*orderby排序
orderby列名[desc|asc]
desc:
代表降序排列
asc:
代表升序排列
select*from表名orderby列名
如果不写排序关键字,默认的是升序
select*from表名orderby列名desc
按降序排序
*where关键字的使用
where条件1[or|and][条件2]....
上述条件1可以包括如下:
where列名1<
expression>
列名2
第一种:
比较操作
<
>
:
不等于
=:
等于
<
>
=,<
=等
例如:
select*from表名whereage>
23
第二种:
逻辑操作
and:
与运算筛选出两种条件都满足的情况
or:
或运算
not:
非
逻辑操作的用法:
where条件1<
and|or|not>
条件2
between....and....在...与...之间
select*from表名wherenotbetween...and...
like关键字的使用:
like是作为SQL模糊查询比较常用的一个技术。
在like关键字使用中提出两个比较特殊的符号
(1)%:
0个或者多个任意字符
(2)_:
任意一个字符
查找学生表中姓"
陈"
的同学
select*fromstudentwhere姓名like'
陈%'
查询学生表中名字是三个字的学生信息
_'
in关键字的使用:
in关键字,它是要求查询的结果在某几个值里面
查找年龄在17,33,20的人
select*from信息where年龄in('
17'
'
33'
20'
聚合函数的使用:
(1)max:
求最大值
(2)min:
求最小值
(3)count:
求记录数
(4)avg:
求平均值
(5)sum:
求总和
(1)count(*):
可以计算包含null列的记录数
(2)count(列名):
计算总记录数的时候,不去计算null
groupby子句,它可以对某一列相同的值进行分组并求出相应的结果。
语法:
select列名1[列名2...]fromgroupby列名1[列名2...]
having子句的使用
having子句的作用非常重要,它是对聚合函数的值可以进行比较操作
from子查询
结构:
select*from表名1,(select*from表名2)
在from关键字后面出现的查询语句,我们可以让它单独的做一张虚表
any子查询
any:
大于最小的
小于最大的
=any:
就是in关键字的作用
(1)select*|列名1,列名2...from表名where列名>
any比较条件(是一个子查询)
(2)select*|列名1,列名2...from表名where列名<
any比较条件
(3)select*|列名1,列名2...from表名where列名=any比较条件
all子查询
语法格式:
all比较条件(是一个子查询)
all比较条件
(3)select*|列名1,列名2...from表名where列名=all比较条件
all:
大于子查询中最大的数据
小于子查询中最小的数据
=all:
没有数据