SQL建表语句约束

合集下载

sql server 查询建表语句

sql server 查询建表语句

一、概述SQL Server是一种常用的关系型数据库管理系统,其建表语句用于创建数据库中的表格,并指定表格中字段的属性和约束。

查询建表语句是SQL Server中常用的操作之一,本文旨在介绍如何查询已存在的表格的建表语句,以及如何使用查询得到的建表语句进行表格的复制或修改。

二、查询已存在表格的建表语句1. 使用系统视图查询可以通过系统视图sys.tables和sys.columns查询已存在表格的建表语句。

```sqlSELECT'CREATE TABLE ' + name + ' (' AS CreateTableStmtFROM sys.tablesWHERE name = 'YourTableName' -- 此处替换为具体的表格名称UNIONSELECT' ' + + ' ' + +CASEWHEN c.max_length = -1 THEN '(max)'WHEN IN ('nvarchar', 'nchar') THEN '(' +CASEWHEN c.max_length = -1 THEN 'max'ELSE CAST(c.max_length / 2 AS varchar(5))END + ')'WHEN IN ('decimal', 'numeric') THEN'(' +CAST(c.precision AS varchar(5)) +', ' +CAST(c.scale AS varchar(5)) +')'ELSE ISNULL('('+CAST(c.max_length AS varchar(5))+')', '') END + ' ' +CASEWHEN c.is_identity = 1 THEN 'IDENTITY(' +CAST(c.seed_value AS varchar(5)) + ', ' +CAST(c.increment_value AS varchar(5)) + ')'ELSE ''END + ' ' +CASEWHEN c.is_nullable = 1 THEN 'NULL'ELSE 'NOT NULL'END AS CreateTableStmtFROM sys.columns cJOIN sys.types t ON c.system_type_id = t.system_type_idWHERE c.OBJECT_ID = OBJECT_ID('YourTableName') -- 此处替换为具体的表格名称ORDER BY column_idSELECT ') ' AS CreateTableStmt```2. 使用SQL Server Management Studio (SSMS) 查询在SSMS中,通过如下步骤查询已存在表格的建表语句:- 在Object Explorer中展开对应的数据库和表格。

sql数据库建表

sql数据库建表

1.写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束:(1)“图书表”结构如下:书号:统一字符编码定长类型,长度为6,主键;书名:统一字符编码可变长类型,长度为30,非空;第一作者:普通编码定长字符类型,长度为10,非空;出版日期:小日期时间型;价格:定点小数,小数部分1位,整数部分3位。

(2)“书店表”结构如下:书店编号:统一字符编码定长类型,长度为6,主键;店名:统一字符编码可变长类型,长度为30,非空;电话:普通编码定长字符类型,8位长,每一位的取值均是0~9的数字;地址:普通编码可变长字符类型,40位长。

邮政编码:普通编码定长字符类型,6位长。

(3)“图书销售表”结构如下:书号:统一字符编码定长类型,长度为6,非空;书店编号:统一字符编码定长类型,长度为6,非空;销售日期:小日期时间型,非空;销售数量:小整型,大于等于1。

主键为(书号,书店编号,销售日期);其中“书号”为引用“图书表”的“书号”的外键;“书店编号”为引用“书店表”的“书店编号”的外键。

答:CREATE TABLE 图书表(书号nchar(6) primary key,书名nvarchar(30) not null,第一作者char(10) not null,出版日期smalldatetime,价格numeric(4,1))CREATE TABLE 书店表(书店编号nchar(6) primary key,店名nvarchar(30) not null,电话char(8) check (电话like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),地址varchar(40),邮政编码char(6))CREATE TABLE 图书销售表(书号nchar(6) not null,书店编号nchar(6) not null,销售日期smalldatetime not null,销售数量smallint check(销售数量>=1),primary key(书号,书店编号,销售日期),foreign key(书号) references 图书表(书号),foreign key(书店编号) references 书店表(书店编号))1.1为图书表添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于等于1000。

Accesssql语句创建表及字段类型

Accesssql语句创建表及字段类型

Accesssql语句创建表及字段类型创建⼀张空表: Sql="Create TABLE [表名]"创建⼀张有字段的表: Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))字段类型:2 : "SmallInt", // 整型3 : "Int", // 长整型4 : "Real", // 单精度型5 : "Float", // 双精度型6 : "Money", // 货币7 : "DateTime", // ⽇期时间11 : "Bit", // 是否13 : "TimeStamp",17 : "TinyInt", // 字节72 : "UniqueIdentifier", // 同步复制 ID128 : "Binary",129 : "Char",130 : "NChar",131 : "Decimal", // ⼩数133 : "DateTime",135 : "SmallDateTime",200 : "VarChar",201 : "Text",202 : "VarChar", // ⽂本203 : "Text", // 备注204 : "Binary", // ⼆进制205 : "Image" // OLE 对象以下字段为⽆编码字段(NChar、NVarchar、NText型) 8,128,130,202,203,204,205 以下字段为按当前系统内码编码的字段(Asp中可⽤CodePage=936纠正为gb2312内码) 129,200,201在现有的表中增加字段:Sql="alter table [表名] add column [字段名] varchar(200)"修改字段类型:Sql="alter table [表名] Alter COLUMN 字段名] varchar(50)"删除表:Sql="Drop table [表名]"删除字段:sql="alter table [表名] drop [字段名]"修改字段:Alter TABLE [表名] Alter COLUMN [字段名] 类型(⼤⼩) NULL新建约束:Alter TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2007-1-1')删除约束:Alter TABLE [表名] Drop CONSTRAINT 约束名新建默认值:Alter TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '' FOR [字段名]删除默认值:Alter TABLE [表名] Drop CONSTRAINT 默认值名=======================================conn.open connstr sql="alter table [tablename] add hehe char(20)" conn.execute(sql) response.write("添加成功")ACCESS新建数据库和表还不简单,有了表字段初始化就更简单=======================================<%session("tablen")="news"'news是已存在的表名session("fieldsn")="c"'要添加的字段名connectionstring="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("data/qq.mdb") set conn=server.createobject("adodb.connection")conn.OPEN connectionstringjhsql = " Alter Table "&session("tablen")&" add column "&session("fieldsn")&" real "conn.execute(jhsql)%>================================⽣成数据表,添加字段,其中id字段为⾃动增加,测试通过~~Sub GenAutoIncrementFld()set cn=server.CreateObject("ADODB.Connection")set clx=server.CreateObject("ADOX.Column")set cat=server.CreateObject("ADOX.Catalog")set tblnam=server.CreateObject("ADOX.Table")cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\⽹站制作\asp操作mdb\db\test.mdb" Set cat.ActiveConnection = cn = "Test"clx.ParentCatalog = catclx.Type = 3 = "Id"clx.Properties("AutoIncrement") = truetblnam.Columns.Append clxtblnam.Columns.Append "DataField",130,20cat.Tables.Append tblnamSet clx = NothingSet cat = Nothingcn.CloseSet cn = Nothing End Subcall GenAutoIncrementFld===================================字段类型对应数值''---- DataTypeEnum Values ----Const adEmpty = 0Const adTinyInt = 16Const adSmallInt = 2Const adInteger = 3Const adBigInt = 20Const adUnsignedTinyInt = 17Const adUnsignedSmallInt = 18Const adUnsignedInt = 19Const adUnsignedBigInt = 21Const adSingle = 4Const adDouble = 5Const adCurrency = 6Const adDecimal = 14Const adNumeric = 131Const adBoolean = 11Const adError = 10Const adUserDefined = 132Const adVariant = 12Const adIDispatch = 9Const adIUnknown = 13Const adGUID = 72Const adDate = 7Const adDBDate = 133 Const adDBTime = 134 Const adDBTimeStamp = 135 Const adBSTR = 8Const adChar = 129Const adVarChar = 200 Const adLongVarChar = 201 Const adWChar = 130Const adVarWChar = 202 Const adLongVarWChar = 203 Const adBinary = 128Const adVarBinary = 204 Const adLongVarBinary = 205 Const adChapter = 136 Const adFileTime = 64 Const adPropVariant = 138 Const adVarNumeric = 139 Const adArray = &H2000。

SQL语句建表、设置主键、外键、check、default、unique约束

SQL语句建表、设置主键、外键、check、default、unique约束

SQL语句建表、设置主键、外键、check、default、unique约束· 什么是数据库?存放数据的仓库。

· 数据库和数据结构有什么区别?数据结构要解决在内存中操作数据的问题,数据库要解决在硬盘中操作数据的问题。

数据结构研究⼀些抽象数据模型(ADT)和以及定义在该模型上的⼀些操作,数据库是由表、关系、操作组成。

· 什么是主键?主键⽤来标识记录的唯⼀性。

· 什么是外键?外键⽤来标识表与表之间的联系。

· 什么是check约束?check约束限制了输⼊值的范围。

· 什么是default约束?给某个属性⼀个默认值。

· 什么是unique约束?限制某个属性的唯⼀性。

· unique约束与主键有什么区别?主键不可为null。

关于以上知识的⼀些sql语句:--部门表create table dept(dept_id int primary key,dept_name nvarchar(100) not null,dept_address nvarchar(100))--员⼯表create table emp(--不能写成{emp_id int constraint pk_emp_id_hahaha primary key,--设置主键并命名emp_name nvarchar(20) not null,--名字不能为空emp_sex nchar(1),--↓设置外键,该外键来⾃于dept表(主键表)dept_id int constraint fk_dept_id_heihei foreign key references dept(dept_id),)create table student(stu_id int primary key,stu_sal int check (stu_sal >=1000and stu_sal <=8000),--check约束stu_sex nchar(1) default ('男') --()可以省略,在数据库中字符串必须⽤''括起来)--向student表中插⼊数据insert into student(stu_id,stu_sal) values (1,1000);--可以插⼊insert into student(stu_id,stu_sal) values (2,10000);--插⼊失败,与check约束冲突insert into student values (2,6000,'⼥');--可以插⼊insert into student values (3,6000);--错误,列的个数不匹配。

sql创建表语句

sql创建表语句

sql创建表语句篇一:常用的sql建表语句新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default \&#39;默认值\&#39; null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,[字段6] Decimal (12,4) default 0,[字段7] image null ,)删除表:Drop table [表名]插入数据:INSERT INTO [表名] (字段1,字段2) VALUES (100,\&#39;\&#39;) 删除数据:DELETE FROM [表名] WHERE [字段名]&gt;100更新数据:UPDATE [表名] SET [字段1] = 200,[字段2] = \&#39;\&#39; WHERE[字段三] = \&#39;HAIWA\&#39;新增字段:ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL删除字段:ALTER TABLE [表名] DROP COLUMN [字段名]修改字段:ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL 重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表) sp_rename \&#39;表名\&#39;, \&#39;新表名\&#39;, \&#39;OBJECT\&#39;新建约束:ALTER TABLE [表名] ADD CONSTRAINT 约束名CHECK ([约束字段] &lt;= \&#39;2000-1-1\&#39;) 删除约束:ALTER TABLE [表名] DROP CONSTRAINT 约束名新建默认值ALTER TABLE [表名] ADD CONSTRAINT 默认值名DEFAULT\&#39;\&#39; FOR [字段名]删除默认值ALTER TABLE [表名] DROP CONSTRAINT 默认值名删除Sql Server 中的日志,减小数据库文件大小dump transaction 数据库名with no_logbackup log 数据库名with no_logdbcc shrinkdatabase(数据库名)exec sp_dboption \&#39;数据库名\&#39;, \&#39;autoshrink\&#39;, \&#39;true\&#39;\\\&#39;添加字段通用函数Sub AddColumn(TableName,ColumnName,ColumnType)Conn.Execute(\Alter Table \&amp;TableName&amp;\ Add \&amp;ColumnName&amp;\ \&amp;ColumnType&amp;\\)End Sub\\\&#39;更改字段通用函数Sub ModColumn(TableName,ColumnName,ColumnType)Conn.Execute(\Alter Table \&amp;TableName&amp;\ Alter Column\&amp;ColumnName&amp;\ \&amp;ColumnType&amp;\\) End Sub\\\&#39;检查表是否存在sql=\select count(*) as dida from sysobjects where id = object_id(N\&#39;[所有者].[表名]\&#39;) and OBJECTPROPERTY(id, N\&#39;IsUserTable\&#39;) = 1\set rs=conn.execute(sql)response.write rs(\dida\)\&#39;返回一个数值,0代表没有,1代表存在判断表的存在:select * from sysobjects where id = object_id(N\&#39;[dbo].[tablename]\&#39;) and OBJECTPROPERTY(id, N\&#39;IsUserTable\&#39;) = 1 某个表的结构select * from syscolumns where id = object_id(N\&#39;[dbo].[你的表名]\&#39;) and OBJECTPROPERTY(id, N\&#39;IsUserTable\&#39;) = 1篇二:数据库建表操作SQL语句大全新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default &#39;默认值&#39; null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,[字段6] Decimal (12,4) default 0,[字段7] image null ,)删除表:Drop table [表名]插入数据:INSERT INTO [表名] (字段1,字段2) VALUES (100,&#39;&#39;)删除数据:DELETE FROM [表名] WHERE [字段名]&gt;100更新数据:UPDATE [表名] SET [字段1] = 200,[字段2] = &#39;&#39; WHERE [字段三] = &#39;HAIWA&#39;新增字段:ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL删除字段:ALTER TABLE [表名] DROP COLUMN [字段名]修改字段:ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL重命名表:(Access 重命名表,请参考文章:在Access 数据库中重命名表)sp_rename &#39;表名&#39;, &#39;新表名&#39;, &#39;OBJECT&#39;新建约束:ALTER TABLE [表名] ADD CONSTRAINT 约束名CHECK ([约束字段] &lt;= &#39;2000-1-1&#39;)删除约束:ALTER TABLE [表名] DROP CONSTRAINT 约束名新建默认值ALTER TABLE [表名] ADD CONSTRAINT 默认值名DEFAUL T &#39;&#39; FOR [字段名] 删除默认值ALTER TABLE [表名] DROP CONSTRAINT 默认值名删除sql server 中的日志,减小数据库文件大小dump transaction 数据库名with no_logbackup log 数据库名with no_logdbcc shrinkdatabase(数据库名)exec sp_dboption &#39;数据库名&#39;, &#39;autoshrink&#39;, &#39;true&#39;\&#39;添加字段通用函数Sub AddColumn(TableName,ColumnName,ColumnType)Conn.Execute(Alter Table &amp;TableName&amp; Add &amp;ColumnName&amp; &amp;ColumnType&amp;) End Sub\&#39;更改字段通用函数Sub ModColumn(TableName,ColumnName,ColumnType)Conn.Execute(Alter Table &amp;TableName&amp; Alter Column &amp;ColumnName&amp; &amp;ColumnType&amp;) End Sub\&#39;检查表是否存在sql=select count(*) as dida from sysobjects where id = object_id(N&#39;[所有者].[表名]&#39;) and OBJECTPROPERTY(id, N&#39;IsUserTable&#39;) = 1 set rs=conn.execute(sql)response.write rs(dida)&#39;返回一个数值,0代表没有,1代表存在判断表的存在:select * from sysobjects where id = object_id(N&#39;[dbo].[tablename]&#39;) and OBJECTPROPERTY(id, N&#39;IsUserTable&#39;) = 1 某个表的结构select * from syscolumns where id = object_id(N&#39;[dbo].[你的表名]&#39;) and OBJECTPROPERTY(id, N&#39;IsUserTable&#39;) = 1篇三:SQL语句创建学生信息数据库表的示例用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构Create table Student ()Course表结构Create table course ()SC表结构Cno varchar(10) primary key, Cname varchar(20) not null, Ccredit int check(Sctedit&gt;0), Semester int check(Semester&gt;0), Period int check(Period&gt;0)Sno varchar(7) primary key, Sname varchar(10) not null,Ssex char (2) check(Ssex=‘男’or Ssex=’女’), Sage int check(Sage between 15 and 45), Sdept varchar(20) default(‘计算机系’)Create table SC ( )Sno varchar(7) foreign key references student(Sno), Cno varchar(10) foreign key references course(Cno), Grade intcheck(Grade between 0 and 100), Primary key (Sno,Cno)1.查询学生选课表中的全部数据。

SQL语句常用约束类型

SQL语句常用约束类型

SQL语句常⽤约束类型常⽤五类约束: not null:⾮空约束,指定某列不为空 unique:唯⼀约束,指定某列和⼏列组合的数据不能重复 primary key:主键约束,指定某列的数据不能重复、唯⼀ foreign key:外键,指定该列记录属于主表中的⼀条记录,参照另⼀条数据 check:检查,指定⼀个表达式,⽤于检验指定数据 注意: MySQL不⽀持check约束,但可以使⽤check约束,⽽没有任何效果;根据约束数据列限制,约束可分为: 单列约束:每个约束只约束⼀列 多列约束:每个约束约束多列数据1、not null ⾮空约束⽤于确保当前列的值不为空值,⾮空约束只能出现在表对象的列上。

*Null类型特征:所有的类型的值都可以是null,包括int、float等数据类型空字符串””是不等于null,0也不等于nullcreate table temp(id int not null,name varchar(255) not null default ‘abc’,sex char null)上⾯的table加上了⾮空约束,也可以⽤alter来修改或增加⾮空约束增加⾮空约束 alter table temp modify sex varchar(2) not null;取消⾮空约束 alter table temp modify sex varchar(2) null;取消⾮空约束,增加默认值 alter table temp modify sex varchar(2) default ‘abc’;2、unique 唯⼀约束是指定table的列或列组合不能重复,保证数据的唯⼀性。

虽然唯⼀约束不允许出现重复的值,但是可以为多个null,同⼀个表可以有多个唯⼀约束,多个列组合的约束。

在创建唯⼀约束的时候,如果不给唯⼀约束名称,就默认和列名相同。

MySQL会给唯⼀约束的列上默认创建⼀个唯⼀索引;create table temp (id int not null,name varchar(25),password varchar(16),constraint uk_name_pwd unique(name, password));unique(name, password)表⽰⽤户名和密码组合不能重复 添加唯⼀约束 alter table temp add unique(name, password); 修改唯⼀性约束 alter table temp modify name varchar(25) unique; 删除约束 alter table temp drop index name;3、primary key 主键约束相当于唯⼀约束+⾮空约束的组合,主键约束列不允许重复,也不允许出现空值;如果的多列组合的主键约束,那么这些列都不允许为空值,并且组合的值不允许重复。

sql语句中使用insert_select语句创建表_概述说明

sql语句中使用insert_select语句创建表_概述说明

sql语句中使用insert select语句创建表概述说明1. 引言1.1 概述本文旨在探讨如何在SQL语句中使用INSERT SELECT语句创建表。

INSERT SELECT语句是一种强大的功能,可以同时插入和选择数据,用于将查询结果插入到新创建的表中。

通过这种方式,我们能够方便地创建包含特定数据的表,并可以根据需要灵活选择要插入的字段。

1.2 文章结构本文将分为以下几个部分进行说明。

首先,我们会对INSERT SELECT语句进行概述,介绍其基本功能和用途。

然后,我们会详细讲解创建表的基本语法和用法示例,以帮助读者更好地理解如何使用该语句来创建表。

接着,我们还会介绍如何插入数据到新创建的表中,包括插入部分字段数据和插入全部字段数据两种情况。

此外,在文章的后半部分,我们还会针对一些可能遇到的错误提供解决方案,并列出使用INSERT SELECT语句创建表时需要注意的一些细节事项。

最后,在结论部分,我们将总结使用INSERT SELECT语句创建表的优势和适用场景,并展望其未来发展趋势。

1.3 目的通过本文的阐述,读者能够全面了解并掌握在SQL语句中使用INSERT SELECT 语句创建表的方法和技巧。

这将帮助读者在实际应用中更高效地创建表格、插入数据,并能够避免一些常见的错误。

同时,通过对使用INSERT SELECT语句创建表的优势和适用场景进行总结,读者还能够更好地评估其在实际项目中的应用价值,并为未来的发展做出合理的选择。

以上就是“1. 引言”部分的内容,请根据需要进行修改和完善。

2. SQL语句中使用INSERT SELECT语句创建表:2.1 INSERT SELECT语句的概述:在SQL中,可以使用INSERT SELECT语句将一张已有表中的数据插入到新创建的表中。

这种方法既能够创建一个新表,同时将源表的数据复制到新表中。

2.2 创建表的基本语法和用途:要使用INSERT SELECT语句创建新表并插入数据,需要按照以下基本语法进行操作:```sqlCREATE TABLE 新表名ASSELECT 列名1, 列名2, ...FROM 源表名;```这里,新建的表会包含与SELECT子句中指定列相同名称和数据类型的字段。

sqlserver建表语句带中文注释

sqlserver建表语句带中文注释

标题:SQL Server建表语句带中文注释一、引言在SQL Server数据库中,建表语句是非常重要的,它决定了数据库中表的结构和属性。

建表语句的编写需要遵循一定的规范和标准,同时也需要适当的注释来方便其他人阅读和理解。

本文将介绍如何使用SQL Server建表语句,并给出带中文注释的示例。

二、SQL Server建表语句的基本语法SQL Server建表语句的基本语法如下:```sqlCREATE TABLE 表名(列名1 数据类型1,列名2 数据类型2,...列名N 数据类型N);```在上面的语法中,CREATE TABLE是创建表的关键字,后面跟着表的名称。

括号中包含了表的列名和数据类型。

在每一行中,列名和数据类型之间使用空格分隔,不同的列之间使用逗号分隔。

三、示例:使用SQL Server建表语句创建学生表下面我们将以学生表为例,展示如何使用SQL Server建表语句,并在注释中说明每个字段的含义。

```sql-- 创建学生表CREATE TABLE 学生(学号 VARCHAR(10), -- 学号尊称 NVARCHAR(20), -- 尊称性别 NVARCHAR(2), -- 性别生日 DATE, -- 生日入学年份 INT -- 入学年份);```在上面的示例中,我们使用CREATE TABLE语句创建了一个名为“学生”的表。

表中包含了5个字段,分别是学号、尊称、性别、生日和入学年份。

每个字段后面的注释说明了该字段的含义,方便其他人阅读和理解表结构。

四、SQL Server建表语句的注意事项在使用SQL Server建表语句时,需要注意以下几点:1. 数据类型的选择:根据实际需求选择合适的数据类型,例如VARCHAR、NVARCHAR、INT、DATE等。

2. 主键和外键:如果需要设置主键和外键,需要在建表语句中加入相应的约束。

3. 索引:根据查询需求,为表中的字段添加索引以提高查询效率。

sqlserver建表语句和中文注释的写法

sqlserver建表语句和中文注释的写法

在SQL Server数据库中,建立表格是数据库设计和管理的重要一环。

正确的建表语句和中文注释能够帮助开发人员更好地理解数据表的结构和含义,提高数据库的可读性和可维护性。

下面将介绍SQL Server 中建表语句和中文注释的写法。

一、建表语句的基本格式在SQL Server中,使用CREATE TABLE语句来创建表格。

建表语句的基本格式如下:CREATE TABLE 表名(列名1 数据类型1,列名2 数据类型2,列名3 数据类型3,...PRIMARY KEY (主键列名));具体建表语句的编写需要根据实际需求来确定表的列和数据类型,并且可以添加约束和索引等。

二、建表语句的示例下面以一个简单的学生表格为例,介绍建表语句的写法。

假设学生表包括学生尊称、学号、性别和生日等信息。

CREATE TABLE 学生(学号 INT PRIMARY KEY,尊称 NVARCHAR(50),性别 NVARCHAR(10),生日 DATE);上述建表语句中,学生表包括学号、尊称、性别和生日四个列,其中学号为主键,尊称和性别使用NVARCHAR数据类型,生日使用DATE数据类型。

三、中文注释的写法为了提高数据库的可读性,我们通常在建表语句中添加中文注释来解释每个列的含义。

中文注释应该清晰准确地描述列的作用和数据类型,方便开发人员理解和维护数据库。

示例中添加中文注释的建表语句如下:CREATE TABLE 学生(学号 INT PRIMARY KEY, -- 学号尊称 NVARCHAR(50), -- 尊称性别 NVARCHAR(10), -- 性别生日 DATE -- 生日);在上述建表语句中,每个列后面都添加了中文注释,用“--”表示注释内容。

注释要简洁明了,尽量不超过一行,避免使用过长的注释影响代码的美观性。

四、中文注释的注意事项在为建表语句添加中文注释时,需要注意一些事项:1. 注释要与列对齐,保持代码的整洁美观;2. 注释内容要简洁明了,突出列的作用和含义;3. 可以在需要时添加注释标识表格的主要特点和用途;4. 注释内容要使用规范的中文词汇,避免使用口语化的语言和缩写。

sqlserver 定义table

sqlserver 定义table

sqlserver 定义tableSQL Server 是微软公司开发的一款关系型数据库管理系统,被广泛应用于企业级应用程序的数据存储和处理。

在 SQL Server 中,可以通过定义表来创建数据库中的数据结构,本文将从不同的角度探讨如何使用 SQL Server 定义表。

一、表的创建在SQL Server 中,可以通过CREATE TABLE 语句来创建表。

CREATE TABLE 语句的基本语法如下:CREATE TABLE 表名 (列名1 数据类型1,列名2 数据类型2,列名3 数据类型3,...);例如,我们可以创建一个名为 "employees" 的表,其中包含员工的姓名、年龄和职位信息:CREATE TABLE employees (name VARCHAR(50),age INT,position VARCHAR(50));二、表的列类型表的列类型决定了该列可以存储的数据类型。

在 SQL Server 中,常用的列类型包括整数类型、浮点数类型、字符类型、日期类型等。

以下是一些常用的列类型及其对应的数据类型:1. 整数类型:INT、BIGINT、SMALLINT等,用于存储整数。

2. 浮点数类型:FLOAT、REAL、DECIMAL等,用于存储浮点数。

3. 字符类型:VARCHAR、CHAR、NCHAR等,用于存储字符数据。

4. 日期类型:DATE、DATETIME、TIME等,用于存储日期和时间数据。

例如,在上述的 "employees" 表中,name 列使用了 VARCHAR(50) 类型来存储员工姓名,age 列使用了 INT 类型来存储员工年龄,position 列使用了 VARCHAR(50) 类型来存储员工职位信息。

三、表的约束表的约束用于限制表中数据的完整性和一致性。

在 SQL Server 中,常用的约束包括主键约束、唯一约束、外键约束和检查约束。

用sql语句建立第二章

用sql语句建立第二章

用sql语句建立第二章建立第二张表需要写出包含表的字段名称和数据类型的 CREATE TABLE 语句。

SQL 是一种结构化查询语言,我们可以使用它来创建和管理数据库对象,如表、视图和存储过程等。

CREATE TABLE 语句是创建表的核心。

下面是一个基本的 CREATE TABLE 语法:CREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,.....);其中,table_name 是要创建表的名称,而 column1,column2,column3 等是表中的字段名称。

CREATE TABLE 很多参数可以用来控制表的结构,如约束、索引、默认值等等,但这些我们在后面的章节中会详细讲解。

现在让我们先来创建我们的第二张表。

我们假设要创建的表名为 students,它包含以下字段:- id:学生ID,int类型- name:学生姓名,varchar类型- age:学生年龄,int类型- gender:学生性别,varchar类型- major:学生专业,varchar类型根据以上内容,可以使用以下 SQL 语句创建具有相应字段的students 表:CREATE TABLE students (id int,name varchar(255),age int,gender varchar(10),major varchar(255));此时我们可以通过以下命令来查看刚刚创建的表:SHOW TABLES;结果应该显示出刚刚创建的 students 表。

参考上述 SQL 语句,您也可以使用自定义数据类型、约束、索引、触发器等等来创建更复杂的表。

无论何时需要创建表,只要按照有意义的列名和与列中存储的数据类型结合的格式书写 CREATE TABLE 语句即可。

总之,SQL 是一种非常强大的数据库语言,掌握它能够极大地提高我们的工作效率和代码质量。

sql数据库建表

sql数据库建表

1.写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束:(1)“图书表”结构如下:书号:统一字符编码定长类型,长度为6,主键;书名:统一字符编码可变长类型,长度为30,非空;第一作者:普通编码定长字符类型,长度为10,非空;出版日期:小日期时间型;价格:定点小数,小数部分1位,整数部分3位。

(2)“书店表”结构如下:书店编号:统一字符编码定长类型,长度为6,主键;店名:统一字符编码可变长类型,长度为30,非空;电话:普通编码定长字符类型,8位长,每一位的取值均是0~9的数字;地址:普通编码可变长字符类型,40位长。

邮政编码:普通编码定长字符类型,6位长。

(3)“图书销售表”结构如下:书号:统一字符编码定长类型,长度为6,非空;书店编号:统一字符编码定长类型,长度为6,非空;销售日期:小日期时间型,非空;销售数量:小整型,大于等于1。

主键为(书号,书店编号,销售日期);其中“书号”为引用“图书表”的“书号”的外键;“书店编号”为引用“书店表”的“书店编号”的外键。

答:CREATE TABLE 图书表(书号nchar(6) primary key,书名nvarchar(30) not null,第一作者char(10) not null,出版日期smalldatetime,价格numeric(4,1))CREATE TABLE 书店表(书店编号nchar(6) primary key,店名nvarchar(30) not null,电话char(8) check (电话like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),地址varchar(40),邮政编码char(6))CREATE TABLE 图书销售表(书号nchar(6) not null,书店编号nchar(6) not null,销售日期smalldatetime not null,销售数量smallint check(销售数量>=1),primary key(书号,书店编号,销售日期),foreign key(书号) references 图书表(书号),foreign key(书店编号) references 书店表(书店编号))1.1为图书表添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于等于1000。

SQL中主键、外键完整性约束的作用以及创建语句

SQL中主键、外键完整性约束的作用以及创建语句

SQL中主键、外键完整性约束的作用以及创建语句SQL的主键和外键约束SQL的主键和外键的作用:外键取值规则:空值或参照的主键值。

(1)插入非空值时,如果主键表中没有这个值,则不能插入。

(2)更新时,不能改为主键表中没有的值。

(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。

(4)更新主键记录时,同样有级联更新和拒绝执行的选择。

简而言之,SQL的主键和外键就是起约束作用。

关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。

比如:学生表(学号,姓名,性别,班级)其中每个学生的学号是唯一的,学号就是一个主键;课程表(课程编号,课程名,学分)其中课程编号是唯一的,课程编号就是一个主键;成绩表(学号,课程号,成绩)成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以,学号和课程号的属性组是一个主键。

成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键;同理,成绩表中的课程号是课程表的外键。

定义主键和外键主要是为了维护关系数据库的完整性,总结一下:一、主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。

身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。

外键用于与另一张表的关联。

是能确定另一张表记录的字段,用于保持数据的一致性。

比如,A 表中的一个字段,是B表的主键,那他就可以是A表的外键。

二、主键、外键和索引的区别定义:主键--唯一标识一条记录,不能有重复的,不允许为空外键--表的外键是另一表的主键, 外键可以有重复的, 可以是空值索引--该字段没有重复值,但可以有一个空值作用:主键--用来保证数据完整性外键--用来和其他表建立联系用的索引--是提高查询排序的速度个数:主键--主键只能有一个外键--一个表可以有多个外键索引--一个表可以有多个唯一索引创建SQL的主键和外键约束的方法:create table Student --建表格式:create table 自定义的表名( --字段名一般为有一定意义的英文StudentName nvarchar(15), -- 格式:字段名类型()括号里面的是允许输入的长度StudentAge int, --int型的后面不需要接长度StudentSex nvarchar(2) --最后一个字段后面不要逗号)--在创建表时就可以对字段加上约束:create table Student(StudentNo int PRIMARY KEY IDENTITY(1,1), --加主键约束,还有标识列属性(两者构成实体完整性)StudentName nvarchar(15) not null, --加非空约束,不加"not null" 默认为:可以为空StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外键约束,格式:FOREIGN KEY REFERENCES 关联的表名(字段名)StudentAge int DEFAULT ((0)), --加默认值约束StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加检查约束,格式:check (条件表达式))--如果在表创建好了以后再加约束,则格式分别为:-- 主键:alter table 表名add constraint PK_字段名--"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名primary key (字段名) --字段名同上--唯一约束:alter table 表名add constraint UQ_字段名unique (字段名)--外键约束:alter table 表名add constraint FK_字段名--"FK"为外键的缩写foreign key (字段名) references 关联的表名(关联的字段名) --注意'关联的表名'和'关联的字段名'alter table 表A add constraint FK_B foreign key (ticket_no) references 表B(ticket_no)alter table 表A add constraint FK_C foreign key (person_no) references 表C(person_no)alter table 成绩表add constraint FK_StudentNo foreign key (StudentNo) references Student (StudentNo)ON UPDATE CASCADE ON DELETE CASCADE级联更新,级联删除,这样在删除主表Student时,成绩表中该学生的所有成绩都会删除。

postgres 建表语句

postgres 建表语句

postgres 建表语句PostgreSQL是一种开源的关系型数据库管理系统,它支持SQL语言和ACID事务。

在PostgreSQL中,建表语句是创建表的基础,它定义了表的结构和属性。

在本文中,我们将列举一些常用的PostgreSQL建表语句。

1. 创建表创建表是PostgreSQL中最基本的操作之一。

下面是一个简单的例子:CREATE TABLE users (id SERIAL PRIMARY KEY,name VARCHAR(50) NOT NULL,email VARCHAR(50) UNIQUE NOT NULL,password VARCHAR(50) NOT NULL);这个例子创建了一个名为“users”的表,它有四个列:id、name、email和password。

其中,id是一个自增的主键,name和email 是必填的字符串,password是必填的字符串。

2. 添加列在PostgreSQL中,可以使用ALTER TABLE语句添加列。

下面是一个例子:ALTER TABLE users ADD COLUMN age INTEGER;这个例子向“users”表中添加了一个名为“age”的整数列。

3. 删除列删除列也是ALTER TABLE语句的一部分。

下面是一个例子:ALTER TABLE users DROP COLUMN age;这个例子从“users”表中删除了名为“age”的列。

4. 修改列修改列也是ALTER TABLE语句的一部分。

下面是一个例子:ALTER TABLE users ALTER COLUMN email SET NOT NULL;这个例子将“users”表中的“email”列设置为必填的字符串。

5. 添加主键在PostgreSQL中,可以使用ALTER TABLE语句添加主键。

下面是一个例子:ALTER TABLE users ADD PRIMARY KEY (id);这个例子将“users”表中的“id”列设置为主键。

使用sql语句create table定义约束的方法

使用sql语句create table定义约束的方法

使用sql语句create table定义约束的方法摘要:1.引言2.SQL创建表约束的基本语法3.约束类型及作用3.1 主键约束(PRIMARY KEY)3.2 外键约束(FOREIGN KEY)3.3 唯一约束(UNIQUE)3.4 非空约束(NOT NULL)3.5 检查约束(CHECK)4.实例演示5.总结与拓展正文:1.引言在数据库表设计中,约束是确保数据完整性和一致性的重要手段。

SQL语句中的CREATE TABLE命令可用于创建表并设置各种约束。

本文将详细介绍如何使用SQL语句创建表约束,以提高数据质量。

2.SQL创建表约束的基本语法在CREATE TABLE语句中,添加约束的关键字及其语法如下:- 主键约束(PRIMARY KEY):`PRIMARY KEY (column_name1, column_name2,...)`- 外键约束(FOREIGN KEY):`FOREIGN KEY (column_name) REFERENCES table_name(column_name)`- 唯一约束(UNIQUE):`UNIQUE (column_name1,column_name2,...)`- 非空约束(NOT NULL):`NOT NULL`- 检查约束(CHECK):`CHECK (column_name = value ORcolumn_name <> value)`3.约束类型及作用3.1 主键约束(PRIMARY KEY)主键约束用于唯一标识表中的每一行记录。

一个表只能有一个主键,主键列不能为空,且不能包含重复值。

3.2 外键约束(FOREIGN KEY)外键约束用于建立表与表之间的关联。

外键列的值必须是其关联表中主键列的值,或为空。

外键约束可以防止数据在两个表之间的不一致。

3.3 唯一约束(UNIQUE)唯一约束用于限制列中的值重复。

多个唯一约束可以应用于同一列,以进一步保证数据唯一性。

oracle sql查看表的建表语句

oracle sql查看表的建表语句

一、概述在使用Oracle数据库时,有时候我们需要查看某张表的建表语句。

这对于了解表的结构以及进行数据库设计和维护工作非常有帮助。

本文将介绍如何使用Oracle SQL语句查看表的建表语句。

二、使用工具在Oracle数据库中,我们可以使用SQL*Plus或者SQL Developer 等工具来执行SQL语句。

这些工具都提供了方便的界面和功能,可用于查询和管理数据库中的对象。

三、查看建表语句的SQL语句要查看表的建表语句,我们可以通过以下SQL语句来实现:```SELECT dbms_metadata.get_ddl('TABLE', 'TABLE_NAME','SCHEMA_NAME')FROM dual;```在这个SQL语句中,我们使用了dbms_metadata.get_ddl函数来获取表的建表语句。

其中,TABLE_NAME是要查看的表的名称,SCHEMA_NAME是表所在的模式名称。

四、示例下面通过一个示例来演示如何使用以上SQL语句来查看表的建表语句。

假设有一个名为EMPLOYEE的表,它存储了员工的基本信息。

我们可以使用以下SQL语句来查看这个表的建表语句:```SELECT dbms_metadata.get_ddl('TABLE', 'EMPLOYEE', 'HR') FROM dual;```其中,'EMPLOYEE'是表的名称,'HR'是表所在的模式名称。

五、注意事项在使用以上SQL语句时,需要注意以下几点:1. 需要有适当的权限来执行dbms_metadata.get_ddl函数。

通常情况下,只有具有DBA权限或者CREATE ANY TABLE权限的用户才能执行该函数。

2. 在执行SQL语句时,需要替换相应的表名称和模式名称。

3. 如果要查看其他类型的对象(如索引、触发器等)的建表语句,可以修改SQL语句中的参数。

sql建表语句案例

sql建表语句案例

sql建表语句案例当涉及到创建数据库表时,SQL(结构化查询语言)是用于定义和操作关系型数据库的标准语言。

以下是一个示例的SQL建表语句,以及每个部分的解释。

假设我们要创建一个名为"employees"的表,该表包含员工的信息,包括员工ID、姓名、职位、入职日期和工资。

以下是相应的SQL建表语句:```sqlCREATE TABLE employees (employee_id INT PRIMARY KEY,first_name VARCHAR(50),last_name VARCHAR(50),job_title VARCHAR(50),hire_date DATE,salary DECIMAL(10, 2));```下面是各个部分的解释:* `CREATE TABLE`:这是用于创建表的SQL语句。

* `employees`:这是要创建的表的名称。

* 在括号内,我们定义了表的列(字段)和它们的数据类型。

* `employee_id`:这是员工ID列,数据类型为整数(INT)。

我们将其设置为主键(PRIMARY KEY),这意味着每个员工的ID必须是唯一的,并且不能为NULL。

* `first_name` 和`last_name`:这两列用于存储员工的名字和姓氏,数据类型为可变长度字符(VARCHAR),最大长度为50个字符。

* `job_title`:这一列用于存储员工的职位,数据类型也是VARCHAR,最大长度为50个字符。

* `hire_date`:这一列用于存储员工的入职日期,数据类型为日期(DATE)。

* `salary`:这一列用于存储员工的工资,数据类型为十进制(DECIMAL),总共10位数字,其中2位是小数部分(即10, 2)。

这允许我们存储货币值。

这是一个简单的示例,根据实际需求,可以添加更多的列、约束和索引来满足特定的业务逻辑和查询需求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、基础(建表、建约束、关系)约束(constraint)是microsoft sql server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件(有关数据完整性的介绍请参见第9 章)。

在sql server 中有5 种约束:主关键字约束(primary key constraint)、外关键字约束(foreign key constraint)、惟一性约束(unique constraint)、检查约束(check constraint)和缺省约束(default constraint)。

(最后几页介绍sql基础约束)1、说明:创建数据库create database database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的 deviceuse masterexec sp_addumpdevice disk, testback, c:\mssql7backup\mynwind_1.dat --- 开始备份backup database pubs to testback4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) --建表、建约束、关系create table tableok(col1 int, col2_notnull int not null,col3_default nchar(1) not null default(男),--默认男col4_default datetime not null default(getdate()),--默认得到系统时间col5_checkintnot null check(col5_check&gt;=18 and col5_check&lt;=55), --添加约束,数据值在18到55之间col6_checknchar(9) not null check(col6_check like msd0902[0-9][^6-9]),--添加约束,数据值前7位必须是?msd0902?,倒数第两位可以是0-9中任意一个数字,最后一位不是6-9之间的数字。

cola_primary nchar(5) not null primary key,--建立主键colb_unique int unique,--唯一约束col7_identity int not null identity(100,1),--自增长,从100开始,每列值增加1个col8_identity numeric(5,0) not null identity(1,1)--自增长,从1开始,每列值增加1个,最大值是5位的整数col9_guid uniqueidentifier not null default(newid())--使用newid()函数,随机获取列值)--alter--主外键/引用/关系约束alter table 从表名 [with check]--启用 with nocheck--禁用约束add constraint fk_主表名_从表名foreign key (从表中的字段名) references 主表名 (主表中的字段名)--其它非主外键约束alter table wfadd constraint 约束名约束类型具体的约束说明alter table wf--修改联合主键add constraint pk_cola_primary primary key(cola_primary,col1) 根据已有的表创建新表:a:create table tab_new like tab_old (使用旧表创建新表)b:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表drop table tabname6、说明:增加一个列alter table tabname add column col type注:列增加后将不能删除。

db2中列加上后数据类型也不能改变,唯一能改变的是增加 7、说明:添加主键: alter table tabname add primary key(col)说明:删除主键: alter table tabname drop primary key(col)8、说明:创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。

9、说明:创建视图:create view viewname as select statement删除视图:drop view viewname10、说明:几个简单的基本的sql语句选择:select * from table1 where 范围插入:insert into table1(field1,field2) values(value1,value2)删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围查找:select * from table1 where field1 like ?%value1%? ---like的语法很精妙,查资料!排序:select * from table1 order by field1,field2 [desc]总数:select count as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1最小:select min(field1) as minvalue from table111、说明:几个高级查询运算词a: union 运算符union 运算符通过组合其他两个结果表(例如 table1 和 table2)并消去表中任何重复行而派生出一个结果表。

当 all 随 union 一起使用时(即 union all),不消除重复行。

两种情况下,派生表的每一行不是来自 table1 就是来自 table2。

b: except 运算符except 运算符通过包括所有在 table1 中但不在 table2 中的行并消除所有重复行而派生出一个结果表。

当 all 随 except 一起使用时 (except all),不消除重复行。

c:intersect 运算符intersect 运算符通过只包括 table1 和 table2 中都有的行并消除所有重复行而派生出一个结果表。

当 all随 intersect 一起使用时 (intersect all),不消除重复行。

注:使用运算词的几个查询结果行必须是一致的。

12、说明:使用外连接a、left (outer) join:左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。

sql: select a.a, a.b, a.c, b.c, b.d, b.f from a left out join b on a.a = b.cb:right (outer) join:右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。

c:full/cross (outer) join:全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

12、分组:group by:一张表,一旦分组完成后,查询后只能得到组相关的信息。

组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准)在sqlserver中分组时:不能以text,ntext,image类型的字段作为分组依据在selecte 统计函数中的字段,不能和普通的字段放在一起;13、对数据库进行操作:14.如何修改数据库的名称:sp_renamedb old_name, new_name二、提升1、说明:复制表(只复制结构,源表名:a 新表名:b) (access可用)法一:select * into b from a where 1&lt;&gt;1(仅用于sqlserver)法二:select top 0 * into b from a2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (access可用)insert into b(a, b, c) select d,e,f from b;3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (access可用)insert into b(a, b, c) select d,e,f from b in ?具体数据库? where 条件例子:..from b in &amp;server.mappath(.)&amp;\data.mdb &amp; where..4、说明:子查询(表名1:a 表名2:b)select a,b,c from a where a in (select d from b ) 或者: select a,b,c from a wherea in (1,2,3)5、说明:显示文章、提交人和最后回复时间select a.title,ername,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b6、说明:外连接查询(表名1:a 表名2:b)select a.a, a.b, a.c, b.c, b.d, b.f from a left out join b on a.a = b.c7、说明:在线视图查询(表名1:a )select * from (select a,b,c from a) t where t.a &gt; 1;8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括select * from table1 where time between time1 and time2select a,b,c, from table1 where a not between 数值1 and 数值29、说明:in 的使用方法select * from table1 where a [not] in (?值1?,?值2?,?值4?,?值6?)篇二:sql之-建库、建表、建约束、关系sql基本语句大全sql之-建库、建表、建约束、关系、部分t-sql语句--建库 if exists(select * from sys.sysdatabases where name=wf) begin use master drop database wf end go create database wf on (name=nwf,filename=ne:\mycode\etc 收费站\etc收费站\etc_data\wf.mdf,size=3mb,maxsize=unlimited,filegrowth=1) --建库 if exists(select * from sys.sysdatabases where name=wf)beginuse masterdrop database wfendgocreate database wfon(name=nwf,filename=ne:\mycode\etc收费站\etc收费站\etc_data\wf.mdf,size=3mb,maxsize=unlimited,filegrowth=1)log on(name=nwf,filename=ne:\mycode\etc收费站\etc收费站\etc_data\wf_log.ldf,size=3mb,maxsize=unlimited,filegrowth=1)gouse wfgoif exists(select * from sys.sysobjects where name=wf )begindrop table wfend--建表、建约束、关系use wfgocreate table tableok(col1 int,col2_notnull int not null,col3_default nchar(1) not null default(男), --默认男col4_default datetime not null default(getdate()), --默认得到系统时间col5_checkintnot null check(col5_check&gt;=18 and col5_check&lt;=55), --添加约束,数据值在18到55之间col6_checknchar(9) not null check(col6_check like msd0902[0-9][^6-9]), --添加约束,数据值前7位必须是‘msd0902’,倒数第两位可以是0-9中任意一个数字,最后一位不是6-9之间的数字。

相关文档
最新文档