一、创建删除数据数据库

1、T-SQL语句创建数据库语法如下:

CREATE DATABASE 数据库名
ON [PRINARY]
(
<文件参数>[,...n] [<文件组参数>]
)
[LOG ON]
(
{<日志文件参数>}[,...n]
)

文件的具体参数语法如下:

(   [name=逻辑文件名,]
filename=物理文件名
[,size=初始大小]
[,maxsize={最大容量|UNLIMITED}]
[,filegrowth=增长量]
)

示例:

需求:创建一个people数据库,有一个10MB和一个20MB的数据文件people1.mdf,people2.ndf,还有两个10MB的日志文件。
主文件people1由primary指定,两个数据文件的最大尺寸为无限大和100MB,增长速度为10%和1MB。日志文件people1_log和
people2_log,物理文件名为people1_log.ldf和people2_log.ldf,最大尺寸均为50MB,文件增长速度均为1MB。
CREATE DATABASE people
ON PRIMARY
(
NAME='people1',
FILENAME='F:\数据库\练习\people1.mdf',
SIZE=10MB,
FILEGROWTH=10%
),
(
NAME='people2',
FILENAME='F:\数据库\练习\people2.ndf',
SIZE=20MB,
MAXSIZE=100MB,
FILEGROWTH=1MB
)
LOG ON
(
NAME='people1_log',
FILENAME='F:\数据库\练习\people1_log.ldf',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=1MB
),
(
NAME='people2_log',
FILENAME='F:\数据库\练习\people2_log.ldf',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=1MB
)

2、删除数据库语法如下:

DROP DATABASE 数据库名

使用时需检查数据库是否存在

USE master
GO
IF EXISTS(SELECT * FROM sysdatabases WHERE name='people')
DROP DATABASE people

注:EXISTS(查询语句)用来检测某个查询是否存在。

二、创建和删除表

1、创建表的语法如下:

CREATE TABLE 表名
(
字段1 数据类型 列的特征,
字段2 数据类型 列的特征,
...
)

示例:

需求:创建学员信息表peoInfo。
USE people
GO
CREATE TABLE peoInfo
(
peoName VARCHAR(20) NOT NULL,
peoNo CHAR(6) NOT NULL,
peoAge INT NOT NULL,
peoID NUMERIC(18,0),
peoSeat SMALLINT IDENTITY (1,1),
peoAddress TEXT
)

注:列属性"IDENTITY(起始值,递增值)"表示"stuSeat"列为自动编号,也称为标识列。

需求:创建成绩表peoMarks
USE people
GO
CREATE TABLE peoMarks
(
ExamNo CHAR(7) NOT NULL, --考号
peoNO CHAR(6) NOT NULL, --学号
writtenExam INT NOT NULL, --笔试成绩
LabEaxm INT NOT NULL --机试成绩
)

2、删除表的语法如下:

DROP TABLE 表名

例如:

DROP TABLE peoInfo

三、使用SQL语句创建和删除约束

约束的目的是确保表中数据的完整性。

常用的约束类型:

  • 主键约束(Primary Key constraint):要求主键列数据唯一,并且不允许为空。
  • 唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值。
  • 检查约束(Check Constraint):某列取值范围显示、格式限制等,如有关年龄的约束。
  • 默认约束(Default Constraint):某列的默认值,如我们的性别默认为“男”。
  • 外键约束(Foreign Key Constraint):用于在两表之间建立关系,需要指定引用主表的那一列。

1、添加约束

添加约束的语法如下:

ALTER TABLE 表名
ADD CONSTRAINT 约束名 约束类型 具体的约束说明

示例:

需求:
为peoNo字段添加主键约束,约束名取名为"PK_peoNo",
为peoID字段添加唯一约束,约束名取名为"UQ_peoID",
为peoAddress字段添加默认约束,约束名取名为"DF_peoAddress",
为peoAge字段添加检查约束,约束名取名为"CK_peoAge",
为peoMarks字段添加外键约束,约束名取名为"FK_peoNO",
/*--添加主键约束--*/
ALTER TABLE peoInfo
ADD CONSTRAINT PK_peoNo PRIMARY KEY (peoNo) /*--添加唯一约束--*/
ALTER TABLE peoInfo
ADD CONSTRAINT UQ_peoID UNIQUE (peoID) /*--添加默认约束--*/
ALTER TABLE peoInfo
ADD CONSTRAINT DF_peoAddress DEFAULT ('地址不详') FOR peoAddress /*--添加检查约束--*/
ALTER TABLE peoInfo
ADD CONSTRAINT CK_stuAge CHECK(peoAge BETWEEN 15 AND 40) /*--添加外键约束--*/
ALTER TABLE peoMarks
ADD CONSTRAINT FK_peoNo
FOREIGN KEY(peoNo) REFERENCES peoInfo(peoNo)

2、删除约束

删除约束的语法如下:

ALTER TABLE 表名
DROP CONSTRAINT 约束名

示例:

/*--删除peoInfo表中地址默认约束的语句--*/
ALTER TABLE peoInfo
DROP CONSTRAINT DF_peoAddress

T-SQL语句操作数据库——基本操作的更多相关文章

  1. 043:Django使用原生SQL语句操作数据库

    Django使用原生SQL语句操作数据库 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库.这里我们以配置 MySQL 为例来讲解. Django 连接数据库,不需要单独的创建一个连 ...

  2. mysql 操作sql语句 操作数据库

    sql语句 #1. 操作文件夹 创建数据库:create database db1 charset utf8; 查数据库:show databases; mysql> create databa ...

  3. 05: MySQLdb 原生SQL语句操作数据库

    1.1 MySQLdb安装与简介 1.MySQLdb 模块的安装(python3中目前这个模块还不可用)参考博客 1. linux: yum install MySQL-python 2. windo ...

  4. mysql:SQL语句操作数据库中表和字段的COMMENT值

    转载:http://blog.163.com/inflexible_simple/blog/static/167694684201182601221758/ 参考文档不太给力啊,表注释和字段注释的资料 ...

  5. 用SQL语句操作数据库

    —―有一天,当你发觉日子特别的艰难,那可能是这次的收获将特别的巨大.—―致那些懈怠的岁月 本章任务: 学生数据库中数据的增加.修改和删除 目标: 1:使用T-SQL向表中插入数据 2:使用T-SQL更 ...

  6. 编写SQL语句操作数据库(慕课SQLite笔记)

    安卓常用数据存储方式之一SQLite学习及操作笔记 0.视频地址:http://www.imooc.com/video/3382 1.每个程序都有自己的数据库 默认情况下是各自互不干扰 1)创建一个数 ...

  7. Django中使用mysql数据库并使用原生sql语句操作

    Django自身默认使用sqlite3这个轻量级的数据库,但是当我们开发网站时,sqlite3就没有mysql好,sqlite3适合一些手机上开发使用的数据库. 准备的软件mysql数据库,版本5.7 ...

  8. SQL之T-sql 语句操作数据库

    用SQL语句操作数据库 在上一次的话题中我们谈到了怎么使用数据库,说到了数据库的基本用法. 不过只是仅限于一些简单的操作,so 如果你不想被人说--"你们只是动动鼠标操作就可以了! 没什么技 ...

  9. Android中SQLite数据库操作(1)——使用SQL语句操作SQLite数据库

    下面是最原始的方法,用SQL语句操作数据库.后面的"Android中SQLite数据库操作(2)--SQLiteOpenHelper类"将介绍一种常用的android封装操作SQL ...

随机推荐

  1. 在 C# 中使用变量

    目录 变量的声明 数据类型 变量的赋值 变量的使用 总结 程序离不开数据.把数字.字母和文字输入计算机,就是希望它利用这些数据完成某些任务.例如,需要计算双十一怎么买才最省钱或者显示购物车里面的商品列 ...

  2. linux 常用Mysql脚本命令

    常用命令 无需系统Root权限 新数据库设置Root密码 visible > mysql -uroot -p visible > mysqladmin -uroot password &q ...

  3. Matplotlib的使用

    目录 1.pyplot基础语法 2.散点图与折线图 3.3D图与等高线图 1.pyplot基础语法 (1)创建画布 figure()创建一个空白画布,可以指定画布的大小figsize和设置分辨率dpi ...

  4. Vue之判断对象是否为空的方法

    1. JSON.stringify(xxx)=='{}' 2. Object.keys(xxx).length==0 验证结果如下:

  5. Ajax之处理不同格式的JSON数据

    JSON是一种网络中的数据格式,主要用于网络间的数据传输,它比XML格式的数据传输速度快,使用更广. 1.Ajax处理对象格式的JSON数据: <script src="../JS/j ...

  6. 算法设计与分析——n后问题(回溯法+位运算)

    一.问题描述 在n×n格的国际象棋上摆放n个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列或同一斜线上,问有多少种摆法. 二.算法设计 解n后问题的回溯算法描述如下: #include ...

  7. Java生鲜电商平台-生鲜电商中商品类目、属性、品牌、单位架构设计与实战

    Java生鲜电商平台-生鲜电商中商品类目.属性.品牌.单位架构设计与实战 说明:Java生鲜电商平台-生鲜电商中商品类目.属性.品牌.单位架构设计与实战经验分享 凡是涉及到购物,必然是建立在商品的基础 ...

  8. VUE程序调试的方法

    目录 VUE程序调试的方法 1.写本文的背景 2.调试与测试 3.Console调试法 3.1 添加console.log指令 3.2 调出温度界面如下 3.3 Google浏览器的Console窗口 ...

  9. Access the Security System in Code 在代码中访问安全系统

    This lesson will guide you through using the static SecuritySystem class to check whether or not a u ...

  10. Redis中的Scan命令的使用

    Redis中有一个经典的问题,在巨大的数据量的情况下,做类似于查找符合某种规则的Key的信息,这里就有两种方式,一是keys命令,简单粗暴,由于Redis单线程这一特性,keys命令是以阻塞的方式执行 ...