-
sql server相关学习sql语句
点击查看代码
if exists(select * from sys.objects where name='Department' and type='U') drop table Department create table Department ( --id identity(x,y) 初始x 自增y,primary key 主键 DepartmentId int primary key identity(1,1), --名称 DepartmentName nvarchar(50) not null, --描述 DepartmentRemark text ) --字符串 --char(x) 占用x个字节 ‘ab’=>x个字节 --varchar(x) 最多占用x个字节 ‘ab’=>2个(x>2) --text 长文本 --char text varchar 前面加n;存储unicode 对中文友好 --例子 --varchar(100) 100个字母或者50个汉字 --nvarchar(100) 100个字母或者100个汉字 --Rank是关键字了,所以加上[] create table [Rank] ( --id identity(x,y) 初始x 自增y,primary key 主键 RankId int primary key identity(1,1), --名称 RankName nvarchar(50) not null, --描述 RankRemark text ) if exists(select * from sys.objects where name='People' and type='U') drop table People create table People( --id identity(x,y) 初始x 自增y,primary key 主键 PeopleId int primary key identity(1,1), --部门 references 引用外键 引用在部门表的id范围之内 DepartmentId int references Department(DepartmentId)not null , --职员 RankId int references [Rank](RankId)not null, --名称 PeopleName nvarchar(50) not null, --性别 加上约束(check) 默认 PeopleSex nvarchar(1)default('男') check(PeopleSex='男' or PeopleSex='女')not null, --老版本date 新版本有time 加上samll就是表示现在时间 不能表示未来 PeopleBirth smalldatetime not null, --小数的使用 float 可能有误差 decimal(x,y) 长度x,小数y位 PeopleSalary decimal(12,2) check(PeopleSalary>=1000 and PeopleSalary<=100000)not null, --电话 约束unique 唯一 电话是唯一的 PeoplePhone varchar(20)unique not null, --地址 PeopleAddress varchar(300), --添加时间,获取当前时间默认值,有一个函数 getdate() PeopleAddTime smalldatetime default(getdate()) not null ) --修改表结构--- --(1)CRUD列 --alter table 表名 add 新列名 数据类型 --添加列 员工表添加邮箱列 alter table People add Mail varchar(200) --alter table 表名 drop column 列名 --删除列 员工表删除邮箱列 alter table People drop column Mail --alter table 表名 alter column 列名 数据类型 --修改地址为 200 alter table People alter column PeopleAddress varchar(200) --维护约束---(删除 添加) --删除约束 --alter table 表名 drop constraint 约束名 --alter table People drop constraint xxx --添加约束 --alter table 表名 add constraint 约束名 check(表达式) --alter table People add constraint psadad check(PeopleSex='男' or PeopleSex='女') --添加主键 唯一 默认 外键 --alter table 表名 add constraint 约束名 primary key (列名) insert into Department(DepartmentName,DepartmentRemark) values('市场部','..........') insert into Department(DepartmentName,DepartmentRemark) values('软件部','..........') insert into Department(DepartmentName,DepartmentRemark) values('企划部','..........') insert into Department(DepartmentName,DepartmentRemark) values('销售部','..........') --最好一一对应 如果列顺序改变就回值出问题 --一次性插入多行数据
- 表内容 crud
点击查看代码
use Mytest select *from Department select * from [Rank] select * from People --数据crud --修改 --update 表名 set 列名='xxx' where 条件 --update 表名 set 列名='xxx', 列名='yyy' where 条件 update Department set DepartmentName='经理部' where DepartmentId=8 update People set PeopleSalary=PeopleSalary+1000 update People set PeopleSalary=15000 where RankId=3 and PeopleSalary<=15000 update People set PeopleSalary=PeopleSalary*2,PeopleAddress='西京' where PeopleName='关羽7' --delete drop truncate区别 --drop table xxx 删除表对象xxx --delete from xxx 删除表xxx的数据, 即表对象和结构都存在 --truncate table xxx 删除数据(清空数据)即表对象和结构都存在 --truncate 清空所有数据,不能有数据。 delete 可以删除所有数据也可以带条件删除符合条件的数据 --自动编号 1,2,3,4,5 --truncate 编号为:1,2,3,4,5 (重头开始) --delete 编号将为6,7,8,9,10(继续) --查询 as可省略 ,distinct()去重, select PeopleName 姓名 from People select distinct(PeopleAddress) from People select PeopleSalary*1.2 加薪后,PeopleSalary 加薪前 from People --按照 名字长度的前5个查询 select top 5 PeopleName from People order by len(PeopleName) --按照 名字长度的前25%查询 select top 25 percent PeopleName from People order by len(PeopleName) --按照 名字长度的后25%查询 select top 25 percent PeopleName from People order by len(PeopleName) desc --查询为null的值的单位 select *from People where PeopleAddress is null; --查询非空的值 和‘ ’区别 null就是没填 ‘ ’insert 有字段但是空白 select *from People where PeopleAddress is not null; --查询时间的 1988到2000的 select * from People where PeopleBirth>'1988-8-7' and PeopleBirth<'2000-3-1' select * from People where PeopleBirth between '1988-8-8'and '2000-3-1' select * from People where year(PeopleBirth) between 1988 and 2000 --查询年纪在多少岁的 select PeopleName,year(GETDATE())-YEAR(PeopleBirth) 年龄 from People --查询年纪在35岁以下的 select PeopleName,year(GETDATE())-YEAR(PeopleBirth) 年龄 from People where year(GETDATE())-YEAR(PeopleBirth)<35 and PeopleSalary >5000 select* from People where (MONTH(PeopleBirth)=11 and DAY(PeopleBirth)<=22) or (MONTH(PeopleBirth)=12 and DAY(PeopleBirth)<=31) --子查询 select *from People where PeopleAddress= (select PeopleAddress from People where PeopleName='关羽') --龙 8 --鼠 4 --
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式