澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:核心语句,Sql语言复习

2019-07-07 作者:数据库网络   |   浏览(175)

1、数据库文件类型:

转载:

SQL Server数据库基础

  SQLServer数据库的基础知识的回想

一、创制数据库

①数据文件

SQL语句:
1:成立数据库 create database 数据库名;

一、安装SQL Server数据库

  1)主数据文件:*.mdf

 

器重数据文件:后缀 .mdf ,有且唯有一个,暗许已创建,蕴涵运营新闻、数据对象

2:使用数据库 use 数据库名;

setup.exe->安装->全新SQL Server独立安装或向现成安装增多效果->输入连串号->下一步->私下认可实例->混合方式->输入sa密码->实例账号增多当前账号就能够。

      2)次要数据文件:*.ndf

  1. 开创和开拓数据库

    注意一点:在新建数据库的时候,一般放置数据文件与日志文件的岗位,供给提前创建文件夹,不然会报错。

    一般主数据文件,大家以.mdf结尾,次数据文件用.ndf结尾。对于日记文件,我们一般以.ldf结尾。

    create database UserDB

    on primary

    (name=userdb_dat,filename='d:magmisdatamagdbdat1.mdf',

说不上数据文件:后缀 .ndf ,可有放六个,默许无

3:删除数据库 drop database 数据库名;

假使想要其余机器访问那台机械的sqlserver,必要运用windows防火墙中的入站准绳,端口写1433.

  3)日志文件:*.ldf

size=10,maxsize=50,filegrowth=5)


 

log on


( name=userdb_log,filename='d:\magmisdata\magdblog1.ldf',

文件流多少:存款和储蓄图片、音频等公事

4: 创建表 create table 表名 
( 列名 列的数据类型 列的约束 );

二、SQL Server配置管理器

  每种数据库至少要蕴含八个公文:一个数据文件和三个日记文件

       size=10,maxsize=50,filegrowth=5)

②事务日志文件:后缀 .ldf ,至少二个,私下认可已创制四个,记录全部事情的SQL语句,用于苏醒数据库

5:删除表 drop table 表名;
delete from 表名;-- delete 语句删除会记录日志 删完数据之后 自动拉长还是继续递增
truncate table 表名; -- truncate 不会在日记中记录的 删完数据现在自动增进回到起始值 1

含蓄各类sql服务,连接数据库时,务必保管sql server服务已开启.

      怎么着查看SQL Server的接济==================快速键F1

    张开数据库:

2、创设和强大数据库

6:复制表 create table copy_biao select * from biao where 1=1; -- 同期复制表中的多寡
create table copy_biao select * from biao where 1=0; -- 复制表结构 不复制数据
先创建一样的表 insert into 以后的表名 select * from 以前的表名;

三、系统数据库

一、创设数据库

    use database UserDB

文件大小:有叁个始发大小,可扩展,最小单位1MB

修改表 用 alter table

1、master数据库

1.语法

 

加强措施:①按比例②按MB

7: 增多一列 alter table biao add name varchar(20);-- 加多一列name列

主系统数据库,错过该库,sqlserver将无法运行。

1 create database 数据库名
2    on  primary
3  (
4     <数据文件参数>[,......n] [<文件组参数>]
5   )
6  log on
7   (
8   {<日志文件参数> [,......n]}
9   )

CREATE DATABASE UserBD1

可限制数量大小:方式:①范围大小②不限定大小

8:删除列 alter table biao drop biao_name; 

2、tempdb数据库

数据文件参数如下

ON PRIMARY

3、减弱数据库:释放不应用的空中

9: 创设一个索引 create index idx_name on banji(banji_mingzi);

用来创制有时对象,包括一时表,存款和储蓄进程,表变量,全局一时表以及游标等。

1 (
2   [name=逻辑文件名,]
3    filename=物理文件名
4   [,size=大小]
5    [,maxsize={最大容量|unlimited}]
6    [,filegrowth=增长量]
7   )

(name=user1,filename='d:dbfileuser1.mdf',size=20,maxsize=200,filegrowth=5

措施:①手动减弱

10: 删除索引 alter table banji drop index idx_name;

3、model数据库

文本组的参数

),

减弱数据库:不可能低于初步大小

11: 插入单行记录 insert into 表名 values (值列表);

sqlserver实例中创设的满贯数据库的模子。

1、语法

(name=user2,filename='d:dbfileuser2.ndf',size=20,maxsize=200,filegrowth=10%

减弱文件:能够低于初步大小,最小单位1M

更换已有的数据 用 update 
13:更新单列数据 update 表名 set 新列值列表 where 过滤条件;
14:改动多列数据 update 表名 set 新列值列表,新列值列表 where 过滤条件;(之间用逗号隔绝)
删除 update 表名 set age=null where name='佳佳';

4、msdb数据库

 1 filegrowth 文件组名 <文件参数> [,......n] 

),

②机关减弱

删除数据 用delete 
15:删除行 delete from 表名 where 过滤条件;(若未有where 过滤条件,表中具有的行都将被删去)

入眼用于sqlserver代理的协助后台。

2.事例(前8行举行剖断的,如若存在数据库就删除数据库官样文章数据库就涌出'2131231')

(name=user3,filename='d:dbfileuser3.ndf',size=20,maxsize=200,filegrowth=5

数据库属性,可设置自动减少

16:删除表 delete from 表名;-- delete 语句删除会记录日志 删完数据现在自动拉长仍旧继续递增

5、resource数据库

 1 --判断如果有这个库进行删除
 2 if exists(select * from sysdatabases where name='MySchool')
 3 begin
 4 drop database MySchool
 5 end
 6 begin
 7 print '2131231'
 8 end
 9 --创建数据库
10 create database MySchool
11 on primary
12 (
13     --数据文件的具体描述
14     name='MySchool_data',        --主数据文件的逻辑名称       必须写
15     filename='E:MySchool_data.mdf', --主数据文件的物理名称       必须写
16     size=5mb,                        --主数据文件的初始大小
17     maxsize=100mb,                    --主数据文件增长的最大值
18     filegrowth=15%                    --主数据文件的增长率
19 )
20 log on
21 (
22 --日志文件的具体描述,各参数含义同上
23 name='MySchool_log',
24 filename='E:MySchool_log.ldf',
25 size=2mb,
26 filegrowth=1mb
27 )
28 go

)

4、分离和叠合数据库

truncate table 表名; -- truncate 不会在日记中记录的 删完数据以往自动增加回到初始值 1

财富数据库,遮盖的制度数据库。主要用以改良sqlserver版本进级时的进度功用。

二、创建表

log on

分离:将数据库从实例中移除,便于移动或复制数据库

17:排除再一次数据 select distinct 列A from 表名;

6、distribution数据库

1、语法

(name=use1log,filename='d:dbfileuser1.ldf',size=20,maxsize=200

叠合:将数据库增添到实例中

18:重返限定行数查询 select * from 表名 limit 0,5;

分发数据库,唯有将实例配置为复制的分发者时,该库才存在。复制中具备的元数据与各个类型的历史记录都存款和储蓄在此数据库中。

1 create table 表名
2 (
3   列1 数据类型 列的特征
4   ......
5  )

),

删去:将数据库从实例中移除并剔除数据文件,只可去除用户数据库

19:采用操作 用 where select 列名列表 from 表名 where 条件;

四、数据库的重组

 

(name=user2log,filename='d:dbfileuser2.ldf',size=20,maxsize=200

5、数据类型:

多规格选取操作: and , or,

数据库器重由文件和文件组组成。数据库中的全部数据和对象(表、存款和储蓄进度和触发器等)都被积累在文书中。

2、例子(5和6行判定是还是不是留存Student那张表)

)

精准数字:  int :整型

实施范围测量检验:between and,(包蕴上限和下限)

1、文件

 1 --创建表
 2 use MySchool --将当前数据库设置为MySchool,以便在MySchool里创建表
 3 go
 4 --判断
 5 if exists (select * from sysobjects where name='Student') 
 6 drop table Student
 7 
 8 create table Student   ---创建Student表
 9 (
10  StudentNo int identity primary key not null,  --学号 自增 主键,非空
11  loginpwd nvarchar(20) not null,
12  StudentName nvarchar(20) not null,
13  Sex bit default'女' not null,      --性别,取值0,1
14  GradeId int not null,
15  Phone nvarchar(50) null,
16  Address nvarchar(100) null,
17  BornDate datetime not null,
18  Email nvarchar(20) null,
19  IdentityCard varchar(18) not null
20  )
21 go

2、修改数据库

bit :唯有0或1或NULL三个值,可输入的值唯有0和1

聚拢定义关系:in,

最首要数据文件:贮存数据和数据库的开头化新闻。每一种数据库独有一个尤为重要数据文件,暗许扩大名是.mdf。
说不上数据文件:寄存除入眼数据文件意外的具备数据文件。有个别数据库或许未有次要数据文件,也也可以有三个协助数据文件,私下认可扩张名是.ndf。
东西日志文件:存放用于恢复数据库的装有日志新闻。各样数据库至少有二个东西日志文件,也足以有三个东西日志文件,私下认可扩充名是.ldf。

三、删除表

日增和删除数据文件和日志文件

decimal :数值

指鹿为马查询: like %(大肆字符串), _(单个字符),

2.文件组
主文件组:富含首要数据文件和其余未有掌握指派给任何文件组的文件。系统表的具有页都分配在主文件组中。
用户定义文件组:首假设在create database 可能alter database 语句中,使用filegroup关键字钦点的文件组。

1、语法

压缩分配给数据文件或日志文件的上空

money :货币值

拍卖空值数据: is null, is not null,

五、成立数据库
创建数据库时包罗健康、选项和文书组 常规用于安装数据库的名称大小地点等,选项和文件组中定义数据库的一些选项,彰显文件和文书组的总括音信,暗中同意就可以。
SQL Server 暗许创造了二个primary文件组,用于寄存若干个数据文件,但日志未有文件组。
SQL Server数据库的数据文件分逻辑名称和屋里名称。逻辑名称是在sql 语句中引用文件时所选取的名称;物理名称用于操作管理种类。

 1 drop table 表名 

强大分配给数据文件或日志文件的长空

相近数字:float ,real

20:排序操作 order by desc(降序) ,order by asc(升序),
21:实行行和列的计量 select count(计数规范) from 表名;
22:sum (总和) avg(平均值) min(最小值) max(最大值)
23:过滤分组数据 group by 
24:使用having 注意:HAVING是运作在分组后,只可以用做聚合函数的过滤。 

维护SQL Server数据库

2、例子

成立文件组

字符串:   char :固定长度,钦赐列长

二:约束:
主键约束:Primary Key 注意:主键约束默以为非空
独一约束:Unique
非空约束:Not Null 
私下认可约束:Default
检查约束:Check(MySQL不援助)

一、脱机与共同

 1 drop table Student 

改造暗中同意文件组

varchar :可变长度,内定最大尺寸

数据库->右键脱机,copy之后右键联机->达成

3、重点

改变数据库名称

text :大批量字符

二、分离与附加

当成立表的时候曾经创建主键和自增列的时候,大家如何能够删除已经存在的主键?

 

nchar、nvarchar、ntext :Unicode字符,双字节

分开不是剔除数据库而是从服务器中移除。 exec sp_detach_db @dbname='webDB'

 

只顾:在选用文件组的时候供给先增Gavin件组,然后在把增添的文书放到文件组里面去。

二进制字符:binary

数据库->右键分离->须求时再右键附加上。create database webDB on (filename='c:webDB.mdf'),(c:webDB.ldf) for attach

1 --查看主键,之前没有主键的名字
2 select * from sysobjects where xtype='PK'
3 --删除主键
4 alter table [Student] drop 查找出约束(主键)的名字

         何况 name 记录的是 数据文件的逻辑名称,不是物理名称。

日子和岁月:date 日期            time 时间          datetime 日期和岁月

三、导入和导出

 

alter database UserBD1

6、创建表:

数据库->右键导入->选取数据源->完结。

四、增添约束(例子)

add filegroup userdbFG

①列名     ②数据类型    ③是或不是同意NULL值       那三点是必须有的

数据库->右键导出->输入服务器名称,账号密码->采用导出格局->完毕。

语法:

alter database UserBD1

④私下认可值:未有为列钦赐值,使用默许值

四、备份和重作冯妇

 1 alter table 表名

add file

⑤标志符列:自动生成序号值的列,不可输入或改动,最八只可以有一个

数据库->右键备份->完整备份->完结。

2 add constraint 束缚名 约束类型 具体的约束表明 

(name=add_user2,filename='d:dbfileadddat2.ndf',size=5,maxsize=200,filegrowth=10%)

 三要素:数据类型为数值型

数据库->右键复苏->选拔bak文件->完全覆盖->达成。

例子:

to filegroup userdbFG

种子:初始值

五、减弱数据库和文件

1、加多暗中同意约束(默许'地址不详')

 

增量:步长、增长值

因为数据库空间分配使用的是现分配、后选取的建制,所以数据库使用进程中就只怕会存在多余的长空。裁减数据库功效允许对数据库的各样文件举行降低。
数据库和日志文件都可以减弱,能够手动减少额自动收缩。
自动减弱:数据库->右键属性->选项->自动减少->完结。
手动减少:数据库->右键任务减少->数据库/文件->分明。

1 alter table Student
2 add constraint df_address default('地址不详') for address

专注:假如把下边包车型客车modify换来remove的话,就足以去除某多个数据文件或许日志文件

⑥检查约束(check):限制可承受的值

六、生成与推行SQL脚本

2、增添检查约束(须要出生在1998年一月19日)

当大家增添日志文件的话,我们采纳命令 add log file (文件参数)

⑦设置主键

将数据库生成SQL脚本:数据库->编写脚本->create database ->达成。
将数据表生成SQL脚本:数据表->编写脚本->create table->达成。
试行SQL脚本:新建查询->输入脚本->实行。

1 alter table Student 
2 add constraint ck_BornDate check (BornDate >='1996-10-26')

alter database UserBD1

⑧安装外键

数据表

3、增加独一约束(身份ID全世界只有三个)

modify file

7、插入数据:

三个数据库由多张数据表组成,各样数据表由行和列组成

 1 alter table Student

(name=add_user2,size=10)

insert into  表名  values(‘值1’,‘值2’,‘’,……)

一、数据类型

2 add constraint uq_IdentityCard unique (IdentityCard) 

上面是降低数据文件或数据库命令,

8、更新数据:

1、基本数据类型

 

use UserBD1

update   表名   set    列名=‘新值’   where    条件

正确数字类型:bigint、int、smallint、tinyint、bit、decimal、numeric、money、smallmoney。

4、增添主键约束

dbcc shrinkfile(add_user2,5)

9、删除数据:

浮点数据类型:freal、float。

 1 alter table Student

 

①delete :能够有标准删除部分数据,保存日志,能够过来,标志列不重新恢复设置,可去除有外键 约束的数据表

字符数据类型:text、ntext、char、nchar(n)、varchar、nvarchar(n)。

2 add constraint pk_StudentNo primary key(StudentNo) 

    dbcc shrinkdatabase(UserBD1,100)

②truncate :只好清空整个表,不保留日志,不可苏醒,标记列重新初始化为0,不可删除有外键约束的表

二进制数据类型:binary、varbinary、image。

5、增多外键约束(主表 Student 和从表 REsult创建关系,关联列StudentNo)

去除数据库

命令: delete   from   表名   where   条件   truncate   table   表名

日子/时间数据类型:time、date、smalldatetime、datetime、datetime2、datetimeoffset。

1 alter table Result 
2 add constraint fk_StudentNo
3     foreign key(StudentNo) references Student (StudentNo) 

    drop database UserBD1

10、删除库和表:

2、用户自定义数据类型

五、回看T-SQL的讲话的语法

二、数据库表

drop  database   库名

2.1 可编制程序性->类型->用户自定义数据类型->右键新添数据类型。

1、增多数量

    1、创制数量库表

drop  table   表名

2.2 exec sp_addtype code_name,'char(8)','not null'

 1 Insert into 表名(列名,......)Values(值1,......) 

留意: identity(10,5) 表示开首值为10,然后依照5的快慢往上升。私下认可为自增1.

二、数据表的数据完整性**

2、修改数据

对此表名,一般#始发的象征不经常表,它是存在于内存空间中的,随之数据库的闭馆,自动关闭,不会保留到硬盘中。

表中的每一列皆有一组属性,如名称、数据类型、数据长度和是还是不是为空等。

 1 update 表名 set 列1=值1,列2=值2,......where(条件) 

      创立表格

1.空与非空值(null/not null):定义是或不是同意为空

3、删除数据

 use UserBD1

2.暗许值(default):暗许钦点值。

 1 delete from 表名 where(条件) 

 create table mag_dept

3.标记属性(identity):自动为表中插入新行生成一连递增的数码,因标志值平常独一,所以标志列平常定义为主键(整型数据类型,标记列不能够为空)。

4、查询语句

(

4.束缚:用来定义自动强制数据库完整性的章程,约束优先于接纳触发器、准则和暗许值。

 1 select 列1,列2,.....from 表名 where(条件) order by 列名 

DepId int identity primary key,

非空:用户必须输入贰个值。能够有多个非空约束。

接头的小例子

DepName varchar(50) NOT NULL,

自己评论:用来钦定贰个布尔操作,限制输入到表中的值。

1 select StudentName,StudentNo from Student where BornDate>='1996-10-26' order by StudentNo 

DepManager varchar(50) ,

独一性:用户的应用程序向列中输入一个独一的值,值不可能重新,但可认为空。

 六、创制文件夹

DepTel varchar(24),

主键:能够确定保证实体完整性,贰个表只可以有二个主键,主键不能为空。

1 exec sp_configure 'show advanced options',1
2 go
3 reconfigure
4 go
5 exec sp_configure 'xp_cmdshell',1
6 go
7 reconfigure
8 go
9 exec xp_cmdshell 'mkdir E:新建文件'

)

外键:调节存款和储蓄在外键表中的数据。三个表能够有多个外键。

 

 

三、公司管理器管理数据表

create table mag_emp

创建表:数据库->表->右键新建表->输入列名->选取数据类型->是不是允许空->保存输入表名。

(

修改表:数据库->表->右键设计。

EmpId int identity,

重命名:数据库->表->f2。

EmpName varchar(30) NOT NULL,

删除表:数据库->表->右键删除。

SexInfo char(2),

非空约束->列->列属性->允许NULL -> 是/否。

EmpAge tinyint,

主键约束->列->右键->设为主键->完成。

DepId int,

独一约束->列->索引/键->独一->是->达成。

EmpRole varchar(20),

反省约束->列->右键->check约束->表明式->完结。

PermitStr varchar(100)

暗许约束->列->列属性->暗中同意值。

)

外键约束->列->右键->关系->表和列标准->采纳外键表列。

 

四、关系的创造与维护

create table mag_info

SQL Server 是二个关周到据库管理体系(Relational Datable Management System,TiguanDBMS),当数据库中蕴藏多个表时,要求通过主关键字来确立表之间的关联。

(

主表user 从表work 主表wid右键->关系->主键work id 外键 user wid。

MagId char(9),

五、计算列

MagName varchar(50) NOT NULL,

列属性->总计列规范->公式。

DesignerName varchar(30),

由同样表中的其余列的表明式总计结果来生成列。一般用来对数据表实行扩张或巩固。

DesFinishDate datetime,

T-SQL

PubDate datetime,

一、T-SQL概述

DepId int

T-SQL(Transact Structured Query Language)是正规的Microsoft SQL Server的恢宏,是正式的SQL程序设计语言的巩固版,程序与SQL Server沟通的首要语言。

)

SQL是关周密据库系统的正统语言,规范的SQL能够使用在装有的关系型数据库上。但T-SQL是SQL Server系统产品独有的。

 

二、T-SQL语言的组合

create table mag_doc

多少定义语言(Data Definition Language,DDL):用于在数据库系统中对数据库、表、视图、索引等数据库对象进行创办和保管。

(

数据调节语言(Data Control Language,DCL):用于落到实处对数据库中数据的完整性、安全性等调节。

DocId int identity,

数量操纵语言(Data Mainpulation Language,DML):用于插入、修改、删除和查询数据库中的数据。

DocTitle varchar(180),

三、T-SQL语句结构

AuthorName varchar(30),

每条SQL语句由三个谓词起先,该谓词描述那条语句要发出的动作,如select或update关键字。谓词后继之三个或八个子句,子句中付出了被谓词效能的数据或提供谓词动作的详细音讯,每一条子句都由八个根本字初始。

DocText text,

select 子句[into 子句] from子句 [where 子句] [group by 子句][having 子句][order by 子句]

WordsSum int,

四、T-SQL语句分类

EditorName varchar(50),

变量表明语句:用来表明变量的一声令下。

EditFinishDate datetime,

数码定义语句:用来简历数据库、数据库对象和定义列,如create table、create view、drop table等。

ColumnName varchar(50),

多少垄断(monopoly)语句:用来决定数据库中多少的下令,如select、insert、update、delete和cursor等。

DepId int,

多少调节语句:用来支配数据库组件的存取许可、存取权限等,如grant、revoke等。

MagId char(9)

内嵌函数:表达变量的命令。

)

别的命令:嵌于命令中央银行使的正统函数。

澳门新萄京官方网站 1

五、常量

2、数据类型

多少在内部存款和储蓄器中蕴藏始终不成形的量叫常量,常量,也叫做文字值或标量值,是标志多少个一定数据值的标志。格式差距与它所标记的值的品种。

字符型 char varchar

1.数字常量:包罗整数常量、小数常量以及浮点常量。【 1 2 3】

日期时间项目 datetime smalldatetime

2.字符串常量:括在单引号内同期带有字母数字字符(a~z、A~Z、0~9)以及特殊字符,如”!、@、#“。 【‘a’ ‘asd’】

数值类型 int samllint tinyint float real decimal numeric money samllmoney

3.日期和岁月常量:SQL规定日期、时间和时间距离的常量值被钦点为日期和岁月常量。【'2015-08-01'】

二进制类型 binary varbinary

4.符号常量:除了用户定义的常量外, SQL富含多少个特定的符号常量,这个常量代表分歧的常用数据值。【current_date标记当前的日期】

位型 bit

六、变量

文本型 text

数据在内部存款和储蓄器中储存能够转移的量叫变量。用户必须钦定存款和储蓄音讯的单元,并为该存款和储蓄单元命名。T-SQL能够利用三种变量,局地变量和全局变量。

图像型 image

1.局部变量

时光戳型 timestamp

一些变量是用户可自定义的变量,功能范围仅在先后内部,局地变量名必须以“@”开端。

        3、修改数据库表

1.1宣称局地变量:使用declare语句申明变量。

添加列

declare @a char(10)

alter table mag_emp

1.2局地变量赋值:一种select,一种set。

add ID char(18)

select : select @a = 1

set : set @a = 'i love sql'

/*定义变量 查询结果*/

declare @title varchar(10)

set @title = 'xxx'

select * from article where title = @title

删除列

出口语句

alter table mag_emp

select : select @a as ‘A’ 重临带列明的变量值

drop column ID

print : print @a 输出变量

修改列的天性

2.全局变量

alter table mag_info

系统内部事先定义好的变量称为全局变量,不用用户定义,任何程序均可每日调用。全局变量以“@@”开首。

alter column PubDate smalldatetime

@@identity: 最后一次自增的值。

@@rowcount: 影响行数

@@cursor_rows: 返回连接上打开的游标当前限定的数目

@@error:返回错误号。若执行成功则返回0。

@@connections:记录最后一次服务器启动以来,所有针对这台服务器进行的链接数目,包括没有链接成功的尝试。

@@cup_busy:记录上次启动以来尝试的连接数,无论链接成功还是失败,都以ms为单位的cpu工作时间

@@dbts:返回当前数据库中timestamp数据类型的当前值。

@@fetch_status:返回上一次使用游标fetch操作所返回的状态值,并且返回值为整型。0成功,-1失败或不存在,-2被提取的行不存在。

@@idle:返回以ms为单位计算SQL Server服务器自最近一次启动以来处于停顿状态的时间。

@@io_busy:返回以ms为单位计算的SQL Server服务器自最近一次启动以来花在输入和输出上的时间。

@@lock_timeout:返回当前对数据锁定的超时设置。

@@pack_received:返回SQL Server服务器自最近一次启动以来一共从网络上接收数据分组的数目。

@@pack_sent:返回SQL Server服务器自最近一次启动以来一共向网络上发送数据分组的数目。

@@procid:返回当前存储过程ID标识。

@@remserver:返回在登陆记录中记在远程SQL Server服务器的名字

@@spid:返回当前服务器进程的ID标识。

@@total_errors:返回自服务器启动以来,所遇到读写错误的总数。

@@total_read:返回自服务器启动以来,读磁盘的次数。

@@total_write:返回自服务器启动以来,写磁盘的次数。

@@trancount:返回当前链接中,处于活动状态事务的数目。

@@version:返回当前服务器的安装日期、版本、一级处理器的类型。

更动列名和表名

七、运算符

use UserTest

代码注释:/*此处注视*/

create table test

1、算数运算符

(

、-、*、/。加减乘除。1 1。

number int identity,

2、赋值运算符

stu_name varchar(10),

=为赋值运算符,将 等号左侧的值赋给侧边变量。

class varchar(20)

3、相比运算符

)

>、=、<=、<>、!=、!>、! 相比较运算符测验七个表明式是不是一律

use UserTest 这一句并不是加,不然会报错

4、逻辑运算符

转移列名的写法表名.列名

  • all:假使三个比较集中全部是true,则值为true。
  • 澳门新萄京官方网站:核心语句,Sql语言复习。and:如果七个布尔值表达式均为true,贼值为true。
  • any:若是叁个相比集结中其余贰个为true,则值为true。
  • between:假设操作数是在有个别范围内,则值为true。
  • exists:即使实查询富含该行,则赶回true。
  • in:假若操作数与七个表明式列表中的某些相等,则值为true。
  • like:假如操作数相称有个别形式,则值为true。
  • not:对任何别的布尔运算符的值相反。
  • or:假如另外三个表明式是true,则值为true。
  • some:假若八个相比聚焦的一点true,则值为true。
  • not and or 同意表达式中,优先级是not>and>or。

Sp_rename '表名.列名' , 新的列名

5、位运算符

sp_rename 'test.class',class_no

&(AND) |(OR) ^(互斥OR) ~(NOT)

改变表名中间的逗号不能够总结

6、连接运算符

Sp_rename 原表名 , 新表名

运用" "用于连接多个或许多个以上的字符串。'123' 'asd'

 sp_rename test,student

7、运算符优先级

4、使用约束

  • 1. (加) -(减) ~(位反)
    1. *(乘) /(除) %(余)
  • 3. (加) (字符串连接) -(减)
  • 4.=、>、=、<=、<>、!=、!>、! >、!
  • 5.^(按位异或) &(按位与) | (按位或)
    1. NOT
    1. AND
  • ALL ANY BETWEEN IN LIKE OSportage SOME(逻辑运算符)。
  • =(赋值)
  1. 共计有5种约束,分别是 primary key 主键约束、unique 该列不允许出现重复、

    foreign key 外键约束,保证数据表间数据的一致性、check定义表中或多或少列的数量范围、 default 为列的数目提供暗许值。

    能够兑现实体完整性、参照完整性、自定义完整性。

    确立约束:

    1)实体完整性

    日增主键约束

    use UserBD1

8、通配符

alter table mag_dept 

 add primary key
(DepId) 

 

联合主键的定义

use UserBD1


create table grade


(


 sno varchar(10)
NOT NULL ,


 cno varchar(10)
, 

 gmark numeric(5,1)
-- 表示整数有位,小数位,其中这里的逗号可有可无,但是上面的逗号不可少

 primary key
(sno,cno)
  • % : 满含0个或多个字符的率性字符(%title% "1title1","title","titlecsd")。
  • _ : 任何单个字符 (title_ "titlec"),通配符后只可跟贰个字母。
  • [] : 钦命范围[a~c] 或集合[abc]中的任何单个字符([0~9]123标识0~9之间自由一个字符起始,123尾声的字符)。
  • [^]:不属于钦赐范围或集结中的任何单个字符([^0~6]123 标记不以0~6之间的人身自由一个字母早先,却以123尾声的字符)。

)

9、控制流程

 

  • begin···end:用于将多少个T-SQL语句组合为三个逻辑块。当流程序调整制语句必须试行一个含有两条或两条以上T-SQL语句时,使用begin end。
  • if:if@x%2=0 print '偶数' end
  • if···else:set @y = 3; if@x>0 print '1'else print'c'
  • case:使用case能够比十分的低价的贯彻多种选取的动静,比if···then结构有更加多的选料和判别机遇。
    case······when aa > 10 then 'ok' when aa
  • while:T-SQL循环结构,条件为实在情形下while子句能够循环的之后的一条T-SQL命令,如若向循环施行一组命令,需协作begin······end。
  • while······continue······break:循环结构while子句还足以用continue和break调控while循环中语句的执行。
  • return:用于从询问或然经过中无条件退出。
  • goto:用来退换程序试行的流水生产线,使程序调到标志符钦点的主次行再持续往下实行。
  • dbcc:用来评释数据库完整性,查找错误和分析类别选拔情状等。
  • declare:用来声称二个或四个部分变量、游标变量或表变量。
  • print: 用来向客户端再次来到贰个字符串。
  • backup:用于将数据库内容或事务管理日志备份到磁盘或硬盘中。
  • restore:数据库产生遗失大概被毁损后得以选用restore将事务管理日志备份文件还原到SQL Server中。
  • select : 除查询外仍是可以够给变量赋值。select @x=1,@y='love',七个赋值。
  • set:用来给部分变量赋值,set一遍只可以给一个变量赋值,select能够八个,但是set效率更加强更紧密。
  • shutdown:离职终止全部的用户进程,并在对每一现行反革命的事体发生三个回滚后脱离SQL Server。终止SQL服务。
  • use:用于在时下职业区张开数据库,如:use master select * from sysdatabases。

    区别意重现

 八、SQL语言操作

use UserBD1

1、GO批管理语句

alter table mag_dept

用来同期实践三个语句

      add unique (DepManager)

选取、切换数据库

      2)参照完整性

use master

[constraint 约束名] foreign key (列名1[,列名2]) references 表名(列名1[,列名2])

go

概念外键

2、使用T-SQL语句操作数据库

use UserBD1

2.1、创制数据库

alter table mag_emp

/*检查是否已存在该数据库*/
if(exists(select * from sys.databases where name = 'webDB'))
    drop database webDB
go
create database webDB on primary /*数据库名字 默认属于praimary组 可省略不写*/
(
    name = webDB, /*逻辑名称*/
    filename='d:webDB.mdf', /*物理名称*/
    size = 5mb, /*初始大小*/
    maxsize = unlimited, /*增长率的最大值*/
    filegrowth = 10% /*增长率*/
)
log on
(
    name = webDB_log,
    filename = 'd:webDB.ldf',
    size = 3mb,
    maxsize = 50mb,
    filegrowth = 2mb
)

      add foreign key(DepId) references mag_dept(DepId)

2.2修改数据库

 

alter database webDB /*要修改的数据库*/
modify file /*修改文件*/
(
    name = webDB, /*逻辑名*/
    size = 6mb /*修改初始大小*/
)

use UserTest

2.3利用存款和储蓄进程修改数据库名

create table mag_dept

exec sp_renamedb 'webDB','newDB'

(

2.4剔除数据库

DepId int identity primary key,

drop database webDB

DepName varchar(50) NOT NULL,

3、创建表

DepManager varchar(50) ,

use webDB
go
if(exists(select * from sys.objects where name='student'))
    drop table student
go
create table student(
    name nvarchar(50),
    age int
)

DepTel varchar(24),

4、修改表

)

/*如果student表存在address列则删除该列*/
if(exists(select * from sys.all_columns where object_id=object_id('student') and name='address'))
    alter table student drop column address/*删除表中谋列*/

/*向表追加列*/
alter table student add address varchar(50) not null

/*修改该列*/
alter table student alter column address varchar(20)

/*向表中追加多列*/
alter table student add tel varchar(50),sex char(2),hits int

 

5、备份数据表

create table mag_emp

select * into newTable from student

(

6、创立约束

EmpId int identity,

/*1、非空约束
创建表时 创建非空约束*/
create table [user]( 
    id int not null,
    name varchar(50),
    age int
)
/*在现有表中追加约束*/
alter table student 
alter column name varchar(50) not null 

/*2、主键约束
创建表时 创建主键约束*/
create table [user1](
    id int constraint pk_id primary key, 
    name varchar(50)
)
/*在现有表中 创建主键约束*/
alter table user1 add constraint pk_id primary key(id) 

/*3、唯一约束
创建表时 创建唯一约束*/
create table [user2](
    id int constraint uq_id unique,
    name varchar(50)
)
/*在现有表中 创建唯一约束*/
alter table [user2] add constraint qu_id unique(id)

/*4、检查约束*/
create table user3
(
    sex char(2) constraint ck_sex check(sex in ('男','女'))
)

alter table user3 add constraint ck_sex check(sex in ('男','女'))

/*5、默认约束*/
create table [defualt](
    hits int constraint def_hits default 0
)

alter table [defualt] add constraint def_hits default 0 for [hits]


/*6、外键约束*/
alter table text add constraint fkey_id foreign key(id) references test(id)

EmpName varchar(30) NOT NULL,

 

SexInfo char(2),

EmpAge tinyint,

DepId int references mag_dept (DepId), //省略foreign key

EmpRole varchar(20),

PermitStr varchar(100)

)

    3)用户自定义完整性

  自定义数据范围约束,将年龄值固定在到1与100里面(注:这里是自己作主命名的,前面多少个都不是独立命名)

use UserTest

alter table mag_emp

  add constraint ck_age check (EmpAge between 1 and 100)

 

为某些属性增添暗中同意值

use UserTest

alter table mag_emp

add default '编辑' for EmpRole

澳门新萄京官方网站 2

剔除约束尽管是自己作主命名的,直接删除约束名就能够,借使不是,须求删除系统自动生成的封锁名

注意斜杠的个数,不然轻便弄错

澳门新萄京官方网站:核心语句,Sql语言复习。use UserTest

 

alter table mag_emp

       drop constraint FK__mag_emp__DepId__03317E3D

计算:创立约束总共有2种办法,其一是应用 cteate table 命令在建设构造表的相同的时候一同定义。其二是选择alter table 命令针对已经创制的表增多约束。

还应该有就是不自己作主定义约束名时,必要轻松 constraint 约束名。

5、组建与删除索引

目录分成两类:聚集索引(物理存款和储蓄方式)与非聚焦索引(逻辑存款和储蓄格局)。

聚焦索引:顺序存储结构。非聚焦索引:线性结构。

Create [unique][clustered|noclustered] index 索引名 on 表名(列名1,列名2)

暗许创立的是是非非独一的非聚焦索引。创设目录时必须先创造聚焦索引,然后构建非集中索引。

与此同不时候,当贰个数据表建设构造主键后,自动创立了多少个独一的集中索引。当使用了unique 约束后,自动建构贰个非集中索引。

创立与删除索引就算标红了,但语法准确

use UserTest

create index age_index on mag_emp(EmpAge)

 

drop index 表名.索引名

drop index mag_emp.age_index

6、删除数据表

    drop table 表名

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:澳门新萄京官方网站:核心语句,Sql语言复习

关键词: