怎么运用T-SQL语句创建数据库

怎么运用T-SQL语句创建数据库,第1张

T-sql 就是特指 微软的sqlserver的 sql语言扩展

创建数据库的sql如下:(简单举例,实际上可控制的内容可以有很多)

use master

go

create database [somedatabasename]

on primary

--建立mdf

(

NAME='SOMENAME' ,

FILENAME='C:\XXX\XXX\SOMENAME.MDF', --文件位置

SIZE=50MB , --初始大小

MAXSIZE=1GB , --unlimited 是不限制最大值

FILEGROWTH=10MB --也可以是百分比 10%

),

--建立ndf,如果数据库不大可以不要

(

NAME='SOMENAME1' ,

FILENAME='D:\XXX\SOMENAME.NDF', --文件位置

SIZE=5MB , --初始大小

MAXSIZE=10GB , --unlimited 是不限制最大值

FILEGROWTH=10% --也可以是百分比 10%

),

--建立日志

LOG ON

(

NAME='SOMENAME_LOG' ,

FILENAME='c:\XXX\SOMENAME_LOG.LDF', --文件位置 可以与前面相同或是不同

SIZE=1MB , --初始大小

MAXSIZE=1GB , --unlimited 是不限制最大值

FILEGROWTH=100kb --也可以是百分比 10%

)

go

这样就建立完了

1.

CREATE DATABASE CITYOA

ON

(NAME=数据库逻辑名

FILENAME='数据库文件路径与物理名.mdf')

LOG ON

(NAME=日志文件逻辑名

FILENAME='日志文件路径与物理名.ldf')

2.1

CREATE TABLE OA_FUNCTION

(FUNNO Int PRIMARY KEY,

FUNNAME Varchar(50) NOT NULL,

UPFUNNO Int ,

FOREIGN KEY (UPFUNNO) REFERENCES OA_FUNCTION (FUNNO)

)

2.2

CREATE TABLE OA_DEPARTMENT

(DEPTNO Int PRIMARYKEY,

DEPTCODE Varchar(10) NOT NULL UNIQUE,

DEPTNAME Varchar(50) NOT NULL UNIQUE,

LOCATION Varchar(200) ,

POSTCODE CHAR(6)

)

2.3员工

CREATE TABLE OA_EMPLOYEE

( EMPNO Int PRIMARY KEY,

EMPID Varchar(20) NOT NULL UNIQUE,

PASSWORD Varchar(20) NOT NULL,

NAME Varchar(50) NOT NULL,

SEX Char(2) CHECK(SEX IN ('男','女')) default '男',

AGE Int CHECK(AGE BETWEEN 18 AND 60) DEFAULT 20,

WORKAGE int CHECK(Age>workage+18),

HIREDATE Datetime CHECK(HIREDATE>'2000-10-10'),

LeaveDate Datetime CHECK(LeaveDate>HIREDATE), Salary decimal(10,2) CHECK(BETWEEN 1000 AND 9000),

BONUS Decimal(10,2) CHECK(Salary>bonus),

Mail Varchar(100) ,

Photo Image ,

JobDesc Text ,

DEPTNO int ,

FOREIGN KEY (DEPTNO) REFERENCES OA_Department(DEPTNO)

)

2.4技能表

CREATE TABLE OA_SKILL

SKILLNO Int PRIMARY KEY,

SKILLNAME Varchar(50) NOT NULL UNIQUE

)

2.5员工技能关联表

CREATE TABLE OA_EMPSKILL

( EMPNO Int ,

SKILLNO Int ,

PRIMARY KEY (EMPNO,SKILLNO),

FOREIGN KEY (EMPNO) REFERNCES EMP (EMPNO),

FOREIGN KEY (SKILLNO) REFERNCES SKILL (SKILLNO)

)

2.6 员工功能关联表

CREATE TABLE OA_EMPFUNCTION

(

EMPNO Int ,

FUNNO Int ,

PRIMARY KEY (EMPNO,FUNNO),

FOREIGN KEY (EMPNO) REFERENCES EMP (EMPNO),

FOREIGN KEY (FUNNO) REFERENCES OA_FUNCTION (FUNNO)

)

2.1的FK->PK(本表PK)不大清楚是不是这样有空问下你们老师。

3. 使用T-SQL语句完成如下修改表的任务

(3.1) 为员工表OA_EMPLOYEE增加列:MobilePhone,类型为varchar(50), 且为唯一

ALTER TABLE OA_EMPLOYEE

ADD COLUMN MobilePhone varchar(50) UNIQUE

(3.2) 将员工表OA_EMPLOYEE的Mail列修改为Varchar(200)

ALTER TABLE OA_EMPLOYEE ALTER COLUMN Mail Varchar(200)

(3.3) 将员工表OA_EMPLOYEE的JobDesc列删除

ALTER TABLE OA_EMPLOYEE DROP COLUMN JobDesc

(3.4) 删除技能表OA_SKILL字段SKILLNAME上的唯一约束

ALTER TABLE OA_SKILL DROP constraint 约束名(约束名我也不知道是什么。。。)

(3.5) 为员工表OA_EMPLOYEE的字段Mail增加唯一约束

ALTER TABLE OA_EMPLOYEE ADD Mail UNIQUE

注:修改任务不用截屏,直接写出T-SQL语句即可。

4. 使用T-SQL语句完成删除表的任务

(4.1) 删除员工表

(4.2) 删除员工功能关联表


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10077783.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存