SqlServer数据库|基础Sql语法语句慢速更新……

Ps:仅自学自用留档,乱序慢速更新,如有需要请点击下方目录自行找寻内容!


创建数据库及表

创建数据库Sql语句:

use master --一般的创建语句都在master中执行
go
create database--数据库名
on primary
(
name='主数据文件名',--主文件加:_data
filename='主数据文件物理路径名',--加文件后缀:.mdf
size=默认数据库大小,
maxsize=最大容量,
filegrowth=增长量
)
log on
(
name='日志文件名',-- 日志文件加:_log
filename='日志文件物理路径名', --加文件后缀:.ldf
size=默认数据库大小,
maxsize=最大容量,
filegrowth=增长量
)
go

创建表Sql语句:

create table 表名
(
	Sno char(10) not null primary key,
	Sname char(10) null,
)

数据库重命名Sql语句:

use master
go 
sp_renamedb'原名','后改名'

数据库删除Sql语句;

use master
go
drop database 数据库名

6月26日更:

查询|Sql语句与方法

Where语句

查询条件谓词
比较运算符=,>,>= ,<,<=,<>(或!=)
确定范围BETWEEN AND,NOT BETWEEN AND
确定集合IN,NOT IN
字符匹配LIKE,NOT LIKE
空值IS NULL,IS NOT NULL
多重条件(逻辑谓词)AND,OR,NOT

Like条件

通配符
’_‘ 代表任意一个字符
’%‘ 代表任意多个字符

Like条件用法Sql语句:

SELECT * FROM 表名 列名 LIKE '查询内容'

Is Null条件用法Sql语句:

SELECT * FROM 表名 WHERE 列名 IS NULL

查询表|条件Sql语句:

SELECT *[列名,列名……]--单独查询某列 FROM 表名--‘*’表示全部
[WHERE 表名 [跟表中条件]]--可跟条件

多表连接查询

(一)内连接

内连接是等值连接,使用“=、>、<、<>”等比较运算符根据每个表共有的列的值匹配两个表中的行。若列名在所有查询的表内是唯一的,可将名称直接写上。在连接查询中如果某个表的所有列全部显示,可以写做<表名.*>。

Sql语句:

SELECT *[列名,列名……]--单独查询某列 FROM  表1 JOIN  表2 ON <连接条件>
{ JOIN3  ON  <连接条件>… }--多于两张表时的连接方式
连接条件的一般格式
表名1.列名 <比较运算符> 表名2.列名

(二)外连接

满足连接条件的元组保留到连接的结果中,其中不满足连接条件的元组会被舍弃。

(1)左外连接

查询的结果集包括SQL语句中左表的所有行,右表中匹配的行。如果左表的某行在右表中没有匹配行,则用空值表示。

Sql语句:

SELECT *[列名,列名……--单独查询某列] FROM 表1 LEFT [OUTER] JOIN 表2 ON <连接条件>
--[outer]可省略

(2)右外连接

查询的结果集包括SQL语句中右表的所有行,左表中匹配的行。如果右表的某行在左表中没有匹配的行,则用空值表示。

Sql语句:

SELECT *[列名,列名……]--单独查询某列 FROM 表1 RIGHT [OUTER] JOIN 表2 ON <连接条件>
--[outer]可省略

(3)全外连接

查询的结果集包括SQL语句中左表和右表的所有行。如果某行在另一个表中没有匹配行时,则用空值表示。

Sql语句:

SELECT *[列名,列名……--单独查询某列] FROM 表1 FULL [OUTER] JOIN 表2 ON <连接条件>
--[outer]可省略

视图

创建单源表视图Sql语句:

create view 视图名(别名,别名……)--查询时显示所要查询的别名(可中文名称)
[with encryption]--指对于视图定义的语句进行加密
as
select 列名,可唯一列名……--可唯一列名可直接写
from 表名
[with check option]--确保用户只能查询和修改他们所看到的数据

创建多源表视图Sql语句:

多源表视图一般只用于查询,不用于修改数据。

CREATE VIEW 视图名 (别名,别名……)--查询时显示所要查询的别名(可中文名称)
AS 
SELECT 表名.列名,可唯一列名……--可唯一列名可直接写
FROM 表名1 JOIN 表名2 ON 表名1.列名 = 表名2.列名
[JOIN 表名3 ON 表名3.列名 = 表名2.列名]--大于2个表使用框起部分

查看视图内容Sql语句:

SELECT * FROM 视图名

通过视图向基本表中插入数据Sql语句:

INSERT INTO 视图名 
VALUES(……,……)--数据内容

通过视图修改基本表中的数据Sql语句:

UPDATE 视图名 SET 修改内容

通过视图删除基本表中的数据Sql语句:

DELETE FROM 视图名
WHERE 条件

删除视图Sql语句:

DROP VIEW 视图名

6月28日更:

约束

NOT NULL
非空约束。限定某列的取值不允许为空(NULL)。假设要求学生信息表中的姓名这一列,不允许为空,那么可以设定姓名的约束为NOT NULL。

UNIQUE
限定某一列的取值唯一。换句话说就是列的取值不能重复。比如身份证号这一列,每个人的身份证号都不相同,如果这一列上出现重复值必定是错误的。

alter table 表名              
add constraint 约束名
unique (字段) 

PRIMARY KEY

主码也称主键或主关键字,是表中的属性或属性组,用以唯一的确定一个元组。比如学生信息表中的学号,每个人都有一个学号,并且每个人的学号都不会重复。那么我们就可以将学号定义为主码,用以唯一的确定一个元组。主码上的取值第一不允许重复,第二不允许为空。
添加数据的时候,如果违反这两条中的任一规则,会提示出错。
每张表必须有且仅有一个主码。

alter table 表名      
add constraint 约束名
primary key (主键)

CHECK

用以限定列的取值范围。使用形式为 CHECK(约束表达式)。例如限定年龄在10到60岁之间。在创建表时可以声明CHECK(年龄>10 AND 年龄<60)。

alter table 表名 
add constraint 约束名
check (字段 between 1 and 100 ) 

DEFAULT

设定列的默认值。使用形式为:DEFAULT 常量。

alter table 表名         
add constraint 约束名
default (默认内容) for 字段 

FOREIGN KEY

外码也称为外键或外关键字。可以设置表中的一个(或多个)属性,让它引用某个表的主码(通常情况下),使表中的属性集的取值受它引用的属性集取值的约束,这个受约束的属性集称为外码。

Alter table 表名 
add Constraint 约束名
foreign key(字段)
references 表名(字段名)

触发器

创建触发器Sql语句:

Create trigger 触发器名
On 基本表名或视图名
[with encryption] --加密
For|after|instead of --可选其一,after和for作用相同
	{[insert][,][update][,][delete]
As T-SQL语句块

禁用触发器Sql语句:

disable trigger 触发器名
			On 表名

启用触发器Sql语句:

enable trigger 触发器名 on 表名
<alter table>

删除触发器Sql语句:

drop trigger 触发器名

7月8日更:

表的增删改

录入数据Sql语句:

insert  into 表名 (列名)--一个语句录入一条信息
	values'录入信息','录入信息'……)

删除数据Sql语句:

delete from 表名--不带条件删除整张表
[where <条件>]--带条件删除满足条件的整行

修改数据Sql语句:

update 表名
set 列名 = [修改的数据]--一般带比较运算符
where 列名 = [条件]--执行条件
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值