B站SQLserver视频学习笔记(更新中。。。。。)
一些语句
--查看数据库Student表的属性 exec sp_helpdb Student --删除数据库aa drop database aa;
drop database 表名--删除表
--启用数据库
use student
go
--查询表的主键名,主键名记得修改,系统自定义的主键很复杂
exec sp_helpconstraint 表名
--删除某一列的某写值
delete 表名
where 列名 where 条件
--获取系统服务器当前时间
getdate()
--表取别名
select *from 表名 as 别名(as可省略)
修改数据库数据库名、物理名称和逻辑文件名
修改sqlserver的数据库名、物理名称和逻辑文件名 - Grit_L。 - 博客园 (cnblogs.com)
修改数据库内存大小
alter database tastdb1 modify file( name='tastdb1', size=4MB, maxsize=10MB, filegrowth=1MB );
数据库的备份和还原、分离和附加
详细信息CSDN
差异备份(differential backup)//备份和上一次备份相比,新增或者修改的数据
完整备份(full backup)//之前备份的也要在备份一次
数据库的备份与还原//数据库文件备份后,如果原文件删除了,可将备份文件还原到数据库系统中
数据库的分离与附加//分离后数据库文件任然存在电脑里,通过附加的方式可在进入到数据库管理系统中;
SQL数据类型
详细信息:SQL Server 数据类型 - Grit_L。 - 博客园 (cnblogs.com)
数据类型:
bigint 八字节 -2^63——2^63-1;
int 四字节 -2^31——2^31-1;
smallint 两字节 -2^15——2^15-1(-32768,32768);
tinyint 一字节 0-255;
时间类型:
time 12:35:29.1234567 时:分:秒(秒可以精确到小数点后7位)
date 2001-01-12 年-月-日
smalldatetime 2001-01-12 12:35:29
datetime 2001-01-12 12:35:29 .123
datetime2 2001-01-12 12:35:29 .1234567
字符串类型:
char(n) 固定长度,n取值(1-8000)// name char(10)则name 这个空间大小分配10个字节
varchar(n|max) 可变长度,n可以取值(1-8000)//name char(10)则name 这个空间最大10个字节,可以为3,4,等,输入的数据好长就占用的空间
nchar(n) 固定长度的Unicode字符串数据,n取值(1-4000),一个字符两个字节// 姓名 nchar(6),可存6个汉字,1代表两个字节
nvarchar(n|max) 同理
新建表
主键:唯一的,不能重复
创建表 方法一:图形界面 方法二:脚本语言
create table 学生表 ( 学号 nchar(8) primary key,姓名 nvarchar(12)not null,
性别 nchar(2)not null,出生日期 date,身高 numeric(3,2),籍贯 nvarchar(8) ) --学号已经设置为主键,就表明它不能为空了,所以没必要还在后面加 not null
修改表结构
也可以用图形界面修改嗷,但是记得把这张表关闭后在修改。
更改表类型长度:
alter table 表 alter column 字段名 类型的长度--char(10)
更改表字段类型:
alter table 表 alter column 字段名 更改后的类型
添加not null 约束:
alter table 表 alter column 字段名 类型 not null
设置主键:
详细信息:SQL PRIMARY KEY 约束 - Grit_L。 - 博客园 (cnblogs.com)
alter table 表 add constraint 主键名 primary key (字段名)
更改字段名:(必须全是英文符号)!!!
exec sp_rename '表名.字段名', '更改后的字段名','column'; --带sp_的不需要在前面加alter这个语句
添加字段名:
alter table 表 add 字段名 字段类型 default
删除表:
drop table table_name[表1,表二,.....] --表1,表二用逗号隔开
主键、外键:
SQL PRIMARY KEY 约束 - Grit_L。 - 博客园 (cnblogs.com)
SQL FOREIGN KEY 约束 - Grit_L。 - 博客园 (cnblogs.com)
数据库的增、删、查、改:
SQL 添加新数据、数据修改、数据查询 - Grit_L。 - 博客园 (cnblogs.com)
关于while 可以参考下面的文章
WHILE子句:
SQL WHERE 子句 - Grit_L。 - 博客园 (cnblogs.com)
BETWEEN 子句:
Select * from emp where sal between 1500 and 3000; --查询 emp 表中 SAL 列中大于 等于1500 的小于 3000 的值。 Select * from emp where not sal between 1500 and 3000; --查询 emp 表中 SAL 列中 不是 大于 等于1500 的小于 3000 的值。
注意:大于等于 1500 且小于等于 3000, 1500 为下限,3000 为上限,下限在前,上限在后,查询的范围包涵有上下限的值。
between and 除了查询数字还可以查询字符串、时间、汉族这些。(汉族是按照拼音来的)
select *from 表名 where 字段名 between '2015-01-02' and '2016-02-03' select *from 表名 where 字段名 between ' 杨%' and '张%'
in语句(返回内容)
用于条件限制表达式,指定表达式范围值
查询满足=值一、值二。。。的 行
select *from 表名 where 字段名 in (值一,值二,,...) select *from 表名 where 字段名 not in (值一,值二,,...)
in还可以实现子查询
下次来放链接
子查询 EXISTS(用法 in 类似)
用于检查自查徐是否至少返回一行数据,不是返回数据,而是返回值TRUE,FALSE
返回结果排序 order by:
select *from 表名
order by 字段名 asc --升序排,可省略不写,默认排序就是升序排
desc 降序排
--按照条件一排序,如果条件一相等则看条件二,条件三。。。。
select *from 表名
order by 字段名 字段名1 asc,字段名 2 desc .....(逗号隔开)//优先级从左到右。
//数字、字符串、时间、汉字都可排序
关联查询:
1) inner join (交叉关联)只返回两个表中联结字段相等的行
select *from 表1
inner join 表2
on 表1.字段号=表2.字段号
输出的结果是满足表1.字段号=表2.字段号
2)left join (左关联)返回包括左表中的所有记录和右表中联结字段相等的记录
select * from A
left join B
on A.aID = B.bID
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.
3)right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
select * from A
right join B
on A.aID = B.bID
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?