MSSQL数据库各种语句学习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库(catalog)
表(table)
列(column)或叫字段(field)
数据类型(datatype)
记录(record)或叫行(row)
主键(PrimaryKey)
索引(index)
表关联:这种将两张表通过字段关联起来的方式就被称为“表关联”,关联到其他表主键的字段被称为“外键”
例子:select * from employees where age<18
delete from employees where position=‘名誉总裁’
create table T_person (FName Varchar(20),FAge int,FRemark Varchar(20),primarykey(FName));
create table T_Debt(FNumber Varchar(20),FAmount Numeric(10,2) NOT NULL,FPerson varchar(20),PrimaryKey
(FNumber),foreignkey(FPerson) references T_Person(FName));
insert into T_person(FName,FAge,FRemark)values('tom',18,'USA') 注:在插入数据的时候某些字段没有值,我们可以忽略这些
字段,例子:insert into T_Person(FAge,FName) values(22,'lxf')
说明:Numeric(10,2) 指定字段是数字型,长度为10位,小数为两位
foreignkey(FPerson)外部约束主键为FPerson
说明:增加一个列
Alter table tabname add columnname type
例子:alter table dbo.T_Person add Fcity varchar(20)
*非空约束对数据插入或更新的影响
如果对一个字段添加了非空约束,那么我们是不能向这个字段中插入或更新为NULL值的。
*主键对数据插入或更新的影响
主键是在同一张表中必须是唯一的,如果在进行数据插入或更新的时候指定的主键与表中已有的数据重复的话则会导致违反主键
约束的异常。
*外键对数据插入或更新的影响
外键是指向另一个表中已有的数据的约束,因此外键值必须是在目标表中存在的。如果插入或更新的数据在目标表中不存在的话
则会导致违反外键约束异常。
**UPDATE
update T_Person
set FRemark='sonin'
update T_Person
set FAge=12
where FName='tom'
update T_Person
set FAge=22
where FName='jim' or FName='LXF'
**DELETE
delete from T_Person;删除T_Person表中的所有数据
drop table T_Person;删除表中的所有数据,及把表结构全部删除。
delete from T_Person where FAge>20 or FRemark='Mars'
********数据检索
select * from T_Employee
select FNumber,FName,FAge,FSalary from T_Employee
select FNumber as 编号,FName as 姓名,FAge as 年龄from T_Employee (其中的‘as’不是必须的,是可以省略的)
select * from T_Employee
where FSalary<5000 or FAge>25;
几种聚合函数:
MAX 计算字段最大值
MIN 计算字段最小值
A VG 计算字段平均值
SUM 计算字段合计值
COUNT 统计数据条数
select MAX(FSalary) from T_Employee
where FAge>25 注:查询年龄大于25岁的员工的最高工资。
select MAX(FSalary) as MAX_SALARY from T_Employee
where FAge>25
select A VG(FAge) from T_Employee
where FSalary>3800 注:统计工资大于3800元的员工的平均年龄。
select SUM(FSalary) from T_Employee; 注:统计应支出工资的总额。
select MIN(FSalary),MAX(FSalary) from T_Employee; 注:多次使用聚合函数,统计公司的最低工资和最高工资。
select COUNT(*),COUNT(FNumber) from T_Employee; 注:COUNT(*)统计的是结果集的总条数,而COUNT(FNumber)统计的则是除了
结果集中FNumber字段不为空值(也就是不等于NULL)的记录的总条数。
*****排序
select * from T_Employee
order by FAge ASC 注:按升序排列,ASC是可以省略的
select * from T_Employee
order by FAge DESC 注:按降序排列,
select * from T_Employee
order by FAge DESC, FSalary DESC; 注:order by 允许指定多个排序列,首先按第一个排序,分不出的按第二个排序。
**** select * from T_Employee
where FAge>23