SQl Server 数据库总结复习

哎~~~~~和两天听老师讲课抓狂是这个状态,有点晕晕的感觉,有点乱,总结一下吧 希望你不要看的晕倒偷笑

--新建数据表
create table T_Order (FID int not null,FNumber varchar(50) not null,Fprice numeric(10,2)
   not null,FCustomerId int,FTypeId int not null,primary key(FId));
--删除表格
drop table T_Order;
--添加字段(一列)(修改)
alter table T_Order add FName varchar(20) not null;
--删除字段(一列)(修改)
alter table T_Order drop column FName;

--修改某列的类型

alter table T_Class alter column FclsName int;--将FclsName的类型转换

--增加一列
alter table Employees add EmpDepmId int

--删除一列
alter table Employees drop column EmpAds


--插入记录
insert into T_Order(FId,FNumber,FPrice,FTypeId) values(1,'K001',100.00,1);
insert into T_Order(FId,FNumber,FPrice,FCustomerId,FTypeId) values(2,'K002',200.00,1,1);
insert into T_Order(FId,FNumber,FPrice,FCustomerId,FTypeId) values(3,'K003',300.00,1,2);
--删除表的内容(一行)
delete from T_Order
where FId=1;
--修改表内容
update T_Order set FPrice=300.00
where FId=1;
--筛选数据select
--查询FCustomerId=1的订单号
select FNumber as '订单号' from T_Order
where FCustomerId=1;

--修改某列的类型

alter table T_Class alter column FclsName int;--将FclsName的类型转换

--为自动编号插入数据
set identity_insert T_Teather on
insert into T_Teather(FteaId,FteaAge) values(9,29);
set identity_insert T_Teather off
 
--一次插入好多数据union(考虑重复) / union all(不考虑重复)
insert into T_Teather
select 'Chris',1,20,1500,'1999-9-9' union
select 'Jim',1,20,1500,'1999-9-9' union
select 'tom',1,20,1500,'1999-9-9' union
select 'Danny',1,20,1500,'1999-9-9'
--还插入四行数据

--备份数据 讲一个表中的数据备份到另一个表中
--将T_Teather表中的数据备份到另外一个表NewT_Taether(不存在)中
select * from T_Teather
select * into NewT_teather from T_Teather
--前提 NewT_Teather不存在,如果存在就会报错

--向一个已存在的表中传数据,数据的来源是另一张表

insert into  NewT_teather(FteaAge,FteaBirthday)
select FteaAge,FteaBirthday from T_Teather

--在写SQl语句的时候,如果有字符串常量在前边加上N
insert into T_Teather(FteaName)values(N'小明');

--跨数据访问:数据库名..表名

use TextSchool
select * into myteacher from School..T_Class;

--建数据库

create database School
on primary
(
name='School',
size=10mb,
filename='E:\SQL 作业与练习\School.mdf',
filegrowth=10,
maxsize=100mb
)
log on
(
name='School_log',
filename='E:\SQL 作业与练习\School_log.ldf'
)

--运算符的优先级  not>and>or

--删除表
truncate table T_taether

--delete from 和 truncate table 删除表的区别
--(1) delete 不能使自动编号返回为起始值 但是truncate 能使自动增长的值返回为默认的种子
--(2) truncate 只能一次清空 不能按条件清除 delete 可以按条件清除 部分记录           
--(3) truncate 清空数据表的性能 要比 delete 快的多得多                                 
--(4) truncate 不会记录到 系统日志 不会触发delete 触发器

--增加一列
alter table Employees add EmpDepmId int
--删除一列
alter table Employees drop column EmpAds
--添加[主键约束]
alter table Employees add constraint PK_Employees_EmpId  primary key(EmpId)

--为EmpName增加一个非空约束(要先建非空约束,再建唯一约束)
alter table Employees alter column EmpName varchar(50) not null

--为EmpName增加唯一建约束
alter table Employees add constraint UQ_Employees_EmpName unique(EmpName)
--删除唯一建
alter table Employees drop constraint UQ_Employees_EmpName
--为性别增加默认约束,使默认值为‘男’
alter table Employees add constraint DF_Employees_EmpGender default('男') for EmpGender
--修改表的字段
alter table Employees drop column EmpDpmId
alter table Employees add  EmpDepId int
--修个数据类型
alter table Employees alter column EmpEmail varchar(200)
--位年龄增加检测约束  0-120含0和120
alter table Employees add constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=120)
--为性别增加检测约束 非男即女
alter table Employees add constraint CK_Employees_EmpGender check(EmpGender='男' or EmpGender='女')
--为员工表增加外键约束
--首先设置部门表中的DepId为主键
alter table Department add constraint PK_Department_DepId primary key(DepId)
--增加外键约束
alter table Employees add constraint FK_Employees_EmpDepId foreign key(EmpDepId) references Department(DepId)on delete cascade
--删除外建关系
alter table Employees drop constraint FK_Employees_EmpDepId
--为员工表增加外键约束
--首先设置部门表中的DepId为主键
alter table Department add constraint PK_Department_DepId primary key(DepId)
--增加外键约束
alter table Employees add constraint FK_Employees_EmpDepId foreign key(EmpDepId) references Department(DepId)on delete cascade
--删除外建关系
alter table Employees drop constraint FK_Employees_EmpDepId
--一条语句删除多个约束,约束名用逗号隔开
alter table Employees drop constraint FK_Employees_EmpDepId,CK_Employees_EmpAge,UQ_Employees_EmpName
--一条语句为表增加多个约束
alter table Employees add constraint UQ_Employees_EmpName unique(EmpName),constraint CKSSS check(EmpAge>=0 and EmpAge<=120)
--select后可以更几个表达式,而不是from....
select '哈哈','嘿嘿','呵呵'

--top,   Distinct(去掉重复数据)
--获取年龄最大的前五名
--首先要排序
select top 5 * from MyStudents order by FAge desc
select distinct uname,ugender from Text

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值