Sqlserver 学习笔记

by:授客 QQ1033553122

1创建数据库

格式:

CREATE DATABASE database_name

ON PRIMARY(在组文件组中指定文件)

(

name = ’数据库文件逻辑名’(在创建数据库后执行的T-SQL语句中引用文件的名称),

fileName = ’数据库文件物理文件名’(含有具体位置,即具体路径(即存储位置)),

size = 文件初始大小,

maxsize = 文件可以增长到的最大大小(可以为:unlimited),

fileGrowth = 文件的增长增量

)

示例:

--建立名为stud的数据库

CREATE DATABASE stud

ON PRIMARY

(

name = 'stud',

fileName = 'E:\数据库\stud.mdf',

size = 50MB,

maxsize = 100MB,

fileGrowth = 10%

)

2增加数据库文件容量(文件初始大小

格式:

ALTER DATABASE database_name

MODIFY FILE(这里是指修改文件属性)

(

name = file_name(这里使用的是逻辑名称),

size = newsize(这里的值只能比原来的大)

)

示例:

--修改数据库stud容量的大小[只能比原来大,就是说只能增大]

ALTER DATABASE stud

MODIFY FILE

(

name = 'stud',

size = 51MB

)

3减小数据库容量

格式:

DBCC SHRINKDATABASE(’database_name’,收缩比)

示例:

--收缩数据库stud的容量,收缩比为1

DBCC SHRINKDATABASE('stud', 1)

4更改数据库名称(文件逻辑名是不会因此改变的)

格式:

EXEC SP_RENAMEDB ‘oldname’,’newname’

示例:

--把数据库stud名称改为student

EXEC SP_RENAMEDB 'stud', 'student'

5删除数据库

格式:

DROP DATABASE database_name

示例:

--删除以上数据库student[注意:数据库名没有用''号]

DROP DATABASE student

6创建表

示例:

--在数据库student中建立一张stud_TABLE[注意先在可视化界面中选定数据库student]

CREATE TABLE stud_TABLE

(

学号    INT         PRIMARY KEY IDENTITY,

名称    CHAR(6)     NOT NULL,

专业方向 VARCHAR(10) NOT NULL,

系部代码 CHAR(2)     NOT NULL,

备注    VARCHAR(5)

)

以上identity是指把其列为标识。

6查看表信息

格式:

EXEC SP_HELP TABLE_name(表名)

示例:

--查看表stud_table的各种信息

EXEC SP_HELP stud_TABLE

7使用T-SQL语句来修改表结构。

7.1重命名表

格式:

EXEC SP_RENAME ‘old_TABLE_name’, ‘new_TABLE_name’

示例:

--把表stud_table改名为stud_table1

EXEC SP_RENAME 'stud_TABLE', 'stud_table1'

7.2重命名列

格式:EXEC SP_RENAME ‘TABLE name.旧列名’,’新列名’

示例:

--把表stud_table1中的"备注"列改名为"其它"

EXEC SP_RENAME 'stud_table1.备注', '其它'

7.3删除表里面的所有数据

格式:

TRUNCATE TABLE 表名

示例:

TRUNCATE TABLE table1

8创建主键,外键约束

8.1创建主键约束

格式:

ALTER TABLE 表名

ADD CONSTRAINT  pk

PRIMARY KEY CLUSTERED(列名)

以上CLUSTERED(列名):选择要设置主键的列名,pk是主键的名称,以下同理

8.2创建外键约束

格式:

ALTER TABLE表名

ADD CONSTRAINT fk

FOREIGN KEY(列名)

REFERENCES 表名(列名)

示例:

--新建表table1

CREATE TABLE table1

(

id INT NOT NULL,

name CHAR(20)

)

--在表中添加数据[右击表\打开表\手动输入]

--删除表table1中的全部数据[不可撤销]

TRUNCATE TABLE table1

--给表table1添加主键约束,选择列为id,把表table2中的id列作为table1的外键约束

CREATE TABLE table2

(

id INT NOT NULL,

name CHAR(20)

)

--为表table1添加主键约束

ALTER TABLE table1

ADD CONSTRAINT pk_key

PRIMARY KEY CLUSTERED(id)

--为表table2添加主键约束[注意两个表中的主键名不能一样]

ALTER TABLE table2

ADD CONSTRAINT pk_key2

PRIMARY KEY CLUSTERED(id)

--为表table1添加外键约束[必须先在被参照表中设置主键才能执行以下语句]

ALTER TABLE table1

ADD CONSTRAINT fk_key

FOREIGN KEY(id) REFERENCES table2(id)

8创建主键,外键约束

8.1创建主键约束

格式:

ALTER
TABLE
表名

ADD
CONSTRAINT  pk

PRIMARY
KEY CLUSTERED(列名)

以上CLUSTERED(列名):选择要设置主键的列名,pk是主键的名称,以下同理

8.2创建外键约束

格式:

ALTER TABLE表名

ADD CONSTRAINT fk

FOREIGN KEY(列名)

REFERENCES
表名(列名)

示例:

--新建表table1

CREATE
TABLE table1

(

id INT NOT NULL,

name CHAR(20)

)

--在表中添加数据[右击表\打开表\手动输入]

--删除表table1中的全部数据[不可撤销]

TRUNCATE
TABLE table1

--给表table1添加主键约束,选择列为id,把表table2中的id列作为table1的外键约束

CREATE
TABLE table2

(

id INT NOT NULL,

name CHAR(20)

)

--为表table1添加主键约束

ALTER
TABLE table1

ADD
CONSTRAINT pk_key

PRIMARY
KEY CLUSTERED(id)

--为表table2添加主键约束[注意两个表中的主键名不能一样]

ALTER
TABLE table2

ADD
CONSTRAINT pk_key2

PRIMARY
KEY CLUSTERED(id)

--为表table1添加外键约束[必须先在被参照表中设置主键才能执行以下语句]

ALTER
TABLE table1

ADD
CONSTRAINT fk_key

FOREIGN
KEY(id)
REFERENCES table2(id)

SQLServer 学习笔记之超详细基础SQL语句 Part 1的更多相关文章

  1. SQLServer 学习笔记之超详细基础SQL语句 Part 3

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 2------------------- 13. 使用compute对查 ...

  2. SQLServer 学习笔记之超详细基础SQL语句 Part 12(The End)

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 11------------------- 现在,我们希望从 " ...

  3. SQLServer 学习笔记之超详细基础SQL语句 Part 11

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 10------------------- DECLARE @myavg ...

  4. SQLServer 学习笔记之超详细基础SQL语句 Part 10

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 9------------------- 删除约束的语法 ALTER T ...

  5. SQLServer 学习笔记之超详细基础SQL语句 Part 9

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 8------------------- 3 范式的概念 第一范式的目标 ...

  6. SQLServer 学习笔记之超详细基础SQL语句 Part 8

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 7------------------- --触发器str_trigge ...

  7. SQLServer 学习笔记之超详细基础SQL语句 Part 7

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 6------------------- 29 存储过程和触发器 存储过 ...

  8. SQLServer 学习笔记之超详细基础SQL语句 Part 6

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 5------------------- 28 聚合函数 --求平均分 ...

  9. SQLServer 学习笔记之超详细基础SQL语句 Part 5

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 4------------------- 21使用默认 默认(也称默认值 ...

  10. SQLServer 学习笔记之超详细基础SQL语句 Part 4

    Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 3------------------- 17 带比较运算符的嵌套查询 ...

随机推荐

  1. NVIDIA GRID 和 NICE DCV 技术用于实现 Linux 和 Windows® 图形加速虚拟桌面

    NVIDIA GRID 和 NICE DCV 技术用于实现 Linux 和 Windows® 图形加速虚拟桌面. NICE DCV: 满足 LINUX 和 WINDOWS 的远程 3D 通过 NICE ...

  2. canvars 画花

    index.html <!DOCTYPE html><html><head> <title>旋转的花</title> <meta ch ...

  3. vue教程1-06 v-bind属性、class和style

    vue教程1-06 属性.class和style 一.属性 属性: v-bind:src="" width/height/title.... 简写: :src="&quo ...

  4. 课程一(Neural Networks and Deep Learning),第四周(Deep Neural Networks)——2.Programming Assignments: Building your Deep Neural Network: Step by Step

    Building your Deep Neural Network: Step by Step Welcome to your third programming exercise of the de ...

  5. Math、Random、System、BigInteger、Date、DateFormat、Calendar类,正则表达式_DAY14

    1:Math&大数据类四则运算 X abs(X x) double random()         产生随机数 double ceil(double a)   向上取整 double flo ...

  6. CentOS6.7-64bit编译hadoop2.6.4

    1.下载maven(apache-maven-3.3.3-bin.tar.gz) http://archive.apache.org/dist/maven/maven-3/3.3.3/binaries ...

  7. JavaScript -- FileSystemObject-文件

    -----058-FileSystemObject-文件.html----- <!DOCTYPE html> <html> <head> <meta http ...

  8. Hadoop不适合处理实时数据的原因剖析

    1.概述 Hadoop已被公认为大数据分析领域无可争辩的王者,它专注与批处理.这种模型对许多情形(比如:为网页建立索引)已经足够,但还存在其他一些使用模型,它们需要来自高度动态的来源的实时信息.为了解 ...

  9. php 通过 strtr 方法来替换文本中指定的内容

    通过在文本中指定待替换的内容,如: [{name}] [{age}] 格式可以自己定义, 大概过程: 在文本中定义需要替换的文本内容: 以键值对的方式 组织数据(数组): 用 file_get_con ...

  10. 【IT笔试面试题整理】有序数组生成最小高度二叉树

    [试题描述]定义一个函数,输入一个有序数组生成最小高度二叉树 We will try to create a binary tree such that for each node, the numb ...