数据库用seq语句从创建数据库到给表添加约束条件

不多说,直接上代码,在sql server2010 运行成功

USE master
GO
IF EXISTS (SELECT * FROM SYSDATABASES WHERE name = 'E_NEW')
DROP DATABASE E_NEW
CREATE DATABASE E_NEW
ON PRIMARY
(
NAME = 'E_NEW_DATA',
FILENAME = 'D:\SqlServer\E_NEW_DATA.mdf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 15%
)
LOG ON
(
NAME = 'E_NEW_LOG',
FILENAME = 'D:\SqlServer\E_NEW_LOG.ldf',
SIZE = 5MB,
FILEGROWTH = 0
)


SELECT * FROM SYS.databases WHERE name = 'E_NEW'
SELECT DATABASEPROPERTYEX('E_NEW', 'STATUS')


EXEC sp_detach_db @dbname = 'E_NEW'
go
EXEC sp_attach_db @dbname = 'E_NEW',
@filename1 = 'D:\SqlServer\E_NEW_DATA.mdf',
@filename2 = 'D:\SqlServer\E_NEW_LOG.ldf'
GO

USE E_NEW
GO
IF EXISTS (SELECT * FROM SYSOBJECTS WHERE name = 'UserInfo')
DROP TABLE UserInfo
GO
CREATE TABLE UserInfo
(
UserId varchar(20) NOT NULL,
UserPwd varchar(50) NOT NULL,
UserName varchar(50) NOT NULL,
Gender int NOT NULL,
Email varchar(50),
UserAdress nvarchar(200),
Phone varchar(20) NOT NULL
)
GO


--给表添加约束
USE E_NEW
GO
ALTER TABLE UserInfo
ADD CONSTRAINT PK_UserId PRIMARY KEY(UserId),
CONSTRAINT CK_UserPwd CHECK(LEN(UserPwd)>= 6),
CONSTRAINT CK_Gender CHECK (Gender = 0 or Gender = 1),
CONSTRAINT DK_Gender DEFAULT(0) FOR Gender,
CONSTRAINT CK_Email CHECK(Email LIKE '%@%')
GO


--订单表
USE E_NEW
GO
CREATE TABLE OrderInfo1
(
OrderId int IDENTITY(1,1) NOT NULL,
UserId varchar(20) NOT NULL,
CommodityId int NOT NULL, --商品编号
Amount int NOT NULL,
PayMoney bigint NOT NULL,
PayWay varchar(50) NOT NULL,
OrderTime datetime NOT NULL,
Confirm int NOT NULL,
SendGoods int NOT NULL
)
GO
--添加外键约束时,注意:
--1.类型 长度必须与引用的主键的类型长度一致
--2.引用的表中必须有主键列


--为上边的订单表添加约束
USE E_NEW
GO
ALTER TABLE OrderInfo
ADD CONSTRAINT PK_OrderId PRIMARY KEY(OrderId),
CONSTRAINT FK_UserId FOREIGN KEY (UserId) REFERENCES UserInfo (UserId),
CONSTRAINT DK_PayWay DEFAULT('网上银行') FOR PayWay,
CONSTRAINT CK_Confirm CHECK (Confirm = 0 or Confirm = 1),
CONSTRAINT DK_Confirm DEFAULT(0) FOR Confirm,
CONSTRAINT CK_SendGoods CHECK (SendGoods = 0 or SendGoods = 1),
CONSTRAINT DK_SendGoods DEFAULT(0) FOR SendGoods
GO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴着眼镜看不清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值