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 tablealter column 字段名 类型的长度--char(10)

更改表字段类型:

alter tablealter  column 字段名 更改后的类型

添加not null 约束:

alter tablealter column 字段名  类型 not null

设置主键:

详细信息:SQL PRIMARY KEY 约束 - Grit_L。 - 博客园 (cnblogs.com)

alter tableadd  constraint  主键名  primary key (字段名)

更改字段名:(必须全是英文符号)!!!

exec sp_rename '表名.字段名',

'更改后的字段名','column';
--带sp_的不需要在前面加alter这个语句

添加字段名:

alter tableadd 字段名 字段类型 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填充.

聚合函数AVG()、SUM()                                                                                                                                                                                                                                                                                                                                                     

posted @ 2022-03-11 21:33  Grit_L。  阅读(37)  评论(0编辑  收藏  举报