一、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 ) GO2、删除库
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 --住址,允许为空,即可选输入 ) GO2、删表
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