一、T—SQL 的组成

1、DML(数据操作语言 Data Manipulation Language) 

             查询、插入、删除和修改数据库中的数据。SELECT、INSERT、UPDATE、DELETE 等; 

        2、DCL(数据控制语言 Data Control Language) 

             用来控制存取许可、存取权限等。GRANT、REVOKE 等。 

        3、DDL(数据定义语言 Data Definition Language) 

             用来建立数据库、数据库对象和定义其列。CREATE TABLE 、DROP TABLE 等。 

        4、变量说明、流程控制、功能函数

定义变量、判断、分支、循环结构等。日期函数、数学函数、字符函数、系统函数等。

二、库 操作

1、建立库

--判断是否存在该库,如果有则删除
USE master --设置当前数据库为 master,以便访问 sysdatabases 表
GO
IF EXISTS(SELECT * FROM sysdatabases WHERE name ='stuDB')
DROP DATABASE stuDB
--建立数据库
CREATE DATABASE stuDB
ON PRIMARY --默认就属于 PRIMARY 主文件组,可省略
(
NAME='stuDB_data', --主数据文件的逻辑名
FILENAME='D:\project\stuDB_data.mdf', --主数据文件的物理名
SIZE=5mb, --主数据文件初始大小
MAXSIZE=100mb, --主数据文件增长的大值
FILEGROWTH=15% --主数据文件的增长率
)
LOG ON
(
NAME='stuDB_log',
FILENAME='D:\project\stuDB_log.ldf',
SIZE=2mb,
FILEGROWTH=1MB
)
GO
<h2>2、删除库 </h2>USE master --设置当前数据库为 master,以便访问 sysdatabases 表
GO
IF EXISTS(SELECT * FROM sysdatabases WHERE name ='stuDB')
DROP DATABASE stuDB
EXISTS()语句:检测是否存在 stuDB 数据库,如果存在 stuDB 数据库,则删除
sysdatabases 表在 master 数据库中,保存着当前系统中所有的数据库

三、表操作

1、建表

--判断是否存在该表,有则删除
USE stuDB --将当前数据库设置为 stuDB ,以便在 stuDB 数据库中建表
GO
IF EXISTS(SELECT * FROM sysobjects WHERE name='stuInfo' )
DROP TABLE stuInfo
--建表
CREATE TABLE stuInfo /*-创建学员信息表-*/
(
stuName VARCHAR(20) NOT NULL , --姓名,非空(必填)
stuNo CHAR(6) NOT NULL, --学号,非空(必填)
stuAge INT NOT NULL, --年龄,INT 类型默认为 4 个字节
stuID NUMERIC(18,0), --身份证号
stuSeat SMALLINT IDENTITY (1,1), --座位号,自动编号
stuAddress TEXT --住址,允许为空,即可选输入
)
GO
<h2>2、删表 </h2>USE 库名   --将当前数据库设置为 stuDB ,以便在 stuDB 数据库中建表
GO
IF EXISTS(SELECT * FROM sysobjects WHERE name='表名' )
DROP TABLE 表名

四、约束

1、主键(primary key)
ALTER TABLE stuInfo
ADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo)
2、唯一性(uinque)
ALTER TABLE stuInfo
ADD CONSTRAINT UQ_stuID UNIQUE (stuID)
3、默认填写(default('……' ) for)
ALTER TABLE stuInfo
ADD CONSTRAINT DF_stuAddress
DEFAULT ('地址不详') FOR stuAddress
4、检查(check(……))
ALTER TABLE stuInfo
ADD CONSTRAINT CK_stuAge
CHECK(stuAge BETWEEN 15 AND 40)
5、外键(foreign key(列名) references 主表名(列名))
ALTER TABLE stuMarks
ADD CONSTRAINT FK_stuNo
FOREIGN KEY(stuNo) REFERENCES stuInfo(stuNo)
6、删除约束
ALTER TABLE 有约束的表名 DORP 约束名

摘自      http://vdisk.weibo.com/s/d0C3jikrGIj1N

【T_SQL】 基础的更多相关文章

  1. 【T_SQL】 基础 视图、存储过程、触发器

    合作对于我来说,真的很重要,不仅仅是我从中学到了什么技术,更加重要的是我从中学到了如何去协调,如何去处理团队之间的关系,不要误会,我不是组长,但是我们每个人都是组长.在漫长的编译代码的过程中,真的很烦 ...

  2. 【T_SQL】 基础 事务

    1.使用 T-SQL 语句来管理事务       开始事务:BEGIN TRANSACTION       提交事务:COMMIT TRANSACTION       回滚(撤销)事务:ROLLBAC ...

  3. 【T_SQL】 基础 续+++

    十五.T-SQL 编程 1.变量 (1)局部变量                    A.局部变量必须以标记@作为前缀 ,如@age.                    B.局部变量的使用也是先 ...

  4. 【T_SQL】基础 续+

    十.模糊查询 1.LIKE --查询时,字段中的内容并不一定与查询内容完全匹配,只要字段中含有这些内容. SELECT StuName AS 姓名 FROM Stuinfo WHERE stuname ...

  5. SQL Server基础之索引

     索引用于快速找出在某个列中有某一特定值的行,不使用索引,数据库必须从第一条记录开始读完整个表,直到找出相关的行.表越大,查询数据所花费的时间越多,如果表中查询的列有一个索引,数据库能快速到达一个位置 ...

  6. 【SQL Server】SQL Server基础之存储过程

    SQL Server基础之存储过程  阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储 ...

  7. MySQL基础复习

    三范式定义 1NF:每个数据项都是最小单元,不可分割,其实就是确定行列之后只能对应一个数据. 2NF:每一个非主属性完全依赖于候选码(属性组的值能唯一的标识一个元组,但是其子集不可以).  3NF: ...

  8. (Java基础--Spring阶段)常见面试题题目及解析整理(2021.03.12)

    题目整理 Java基础进阶阶段 基础概念类 1.JDK1.8新特性? 2.面向对象和面向过程的区别? 3.什么是值传递和引用传递? 4.什么是不可变对象? 5.讲讲类的实例化顺序? 6.java 创建 ...

  9. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

随机推荐

  1. 使用Java数组实现双色球选号

    package com.hm.test; import java.util.Random; /** * 模拟双色球生成 * *1.从1到16中产生一个篮球的随机数 *2.从1到33中产生出6个红色的球 ...

  2. NGUI实现Sprite裁切成圆形或者椭圆形(不完美)

    先上效果 有个问题就是,UISprie用的Atlas的公用的材质,无法从当前要绘制的片段shader上获得uv百分比,所以当有其他的Sprite使用相同的Atlas时显示就有问题 其实Mesh是可以接 ...

  3. bccomp比较大小注意

    2015年12月15日 14:18:56 星期二 echo bccomp('1', '1.01', 2); // -1 echo bccomp('1', '1.01', 3); // -1 echo ...

  4. 将jquery和公共样式缓存到localStorage,可以减少Http请求,从而优化页面加载时间

    以下代码: //入口函数 if (window.localStorage) { initJs(); initCss("css", "/gfdzp201508257998/ ...

  5. ghost xp 安装IIS,并配置WCF

    因要一台电脑做WCF服务的测试服务器,但只有一个台式机可能,配置就不用说了,2G内存.之前装的是win7,卡得要死.于是就想把它装回XP系统.但在网上找来找去,都是ghost xp,之前还很怕ghos ...

  6. IOS - delegate为什么不使用retain

    循环引用所有的引用计数系统,都存在循环应用的问题.例如下面的引用关系: 对象a创建并引用了对象b.对象b创建并引用了对象c.对象c创建并引用了对象b. 这时候b和c的引用计数分别是2和1.当a不再使用 ...

  7. 由浅入深剖析.htaccess

    转自:http://blog.csdn.net/21aspnet/article/details/6908025 [-] htaccess文件使用前提 htaccess基本语法介绍 现学现用学习正则表 ...

  8. Mysql之mysqlbinlog使用

    mysqlbinlog用于BinLog的显示,备份和重做. 默认情况下,mysqlbinlog是以base-64编码的方式呈现的.如: mysqlbinlog  master_bin.000006   ...

  9. kmp

    #include <bits/stdc++.h> #define MAXN 100000 using namespace std; string a, b; int next[MAXN]; ...

  10. GBDT原理实例演示 2

        一开始我们设定F(x)也就是每个样本的预测值是0(也可以做一定的随机化) Scores = { 0, 0, 0, 0, 0, 0, 0, 0}     那么我们先计算当前情况下的梯度值     ...