SQL server 命令创建、修改、删除数据表

1. 创建数据表 create

创建数据表的完整语法格式为:

CREATE TABLE 表名
(列名 数据类型[缺省值][NOT NULL]
 [,列名 数据类型[缺省值][NOT NULL]]....
 [,UNIQUE(列名[,列名]...)]
 [,PRIMARY KEY(列名[,列名]...)]
 [,FOREIGN KEY(列名[,列名]...) REFERENCES(列名[,列名]...)]
 [,CKECK(条件)]
)

参数说明:

  • DEFAULT(缺省值):指定列的缺省值;
  • NOT NULL:列值不能为空值;
  • UNNIQUE:取值唯一的列名;
  • PRIMARY KEY:主关键字(主码)列名;
  • FOREIGN KEY:外部码列名;
  • REFERENCES:引用的外部码的表名和列名
  • CKECK:指定表级约束条件。

注意事项:

例1:在数据库student中创建student表,表中包括:学号、姓名、出生年月、性别、地址、电话号码、邮编、所在系代号、等

USE students --选择数据库
CREATE TABLE  student --创建表
(学号 char(10) NOT NULL PRIMARY KEY,
 姓名 char(8) NOT NULL,
 出生年月 datetime NULL,
 性别 char(2) NOT NULL DEFAULT(‘女‘),
 地址 char(20),

 )

例2:如下表

列名 数据类型 允许空 默认值 主键
学号 Varchar(20) 主键
姓名 Varchar(20)
性别 Varchar(2) ‘男‘
出生年月 Smalldatetime
身份证号 Varchar(20)
USE students
CREATE TABLE  student
(学号 Varchar(10) NOT NULL PRIMARY KEY,
 姓名 Varchar(8) NOT NULL,
 性别 Varchar(2) NOT NULL DEFAULT(‘男‘),
 出生年月 Smalldatetime,
 身份证号 Varchar(20) UNIQUE --身份证号不可以重复

 )

例3:建立一个“选课”表,它是由学号、课程号、成绩、3个属性组成,其“学号”和“课程号”是联合主键,表结构如下表所示。

列名 数据类型 允许空 约束 主键
学号 Varchar(20) PRIMARY KEY
课程号 Varchar(20) PRIMARY KEY
成绩 int 0≤成绩≤100
CREATE TABLE class
(学号 Varchar(20),
 课程号 Varchar(20),
 成绩 INT CHECK(成绩>=0AND成绩<=100),
 PRIMARY KEY(学号,课程号)
)

2. 修改数据表 alter

在student中增加新字段“院系”,“班级名称”;

alter table student

add 院系 char(10),班级名称char(10)

修改表student中字段“院系”长度为char(5);

alter table student

alter column 院系 char(20)

3. 删除数据表 drop

删除class数据表

drop table class

小知识

  1. smalldatetime和datetime的区别:

    smalldatetime的有效时间范围1900/1/1~2079/6/6,smalldatetime只精准到分

    datetime的有效时间范围1753/1/1~9999/12/31,datetime则可精准到3.33毫秒

  2. char(10)和VARCHAR(10)的区别
    1. 首先明确的是,char的长度是不可变的,而varchar的长度是可变的,
    2. 定义一个char[10]和varchar[10],如果存进去的是‘abcd’,那么char所占的长度依然为10,除了字符‘abcd’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的,
    3. char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的。
    4. char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节,两者的存储数据都非unicode的字符数据。

原文地址:https://www.cnblogs.com/CGGG/p/12576539.html

时间: 2024-10-29 11:29:35

SQL server 命令创建、修改、删除数据表的相关文章

SQL Server 创建 修改 删除数据表

1. 图形界面方式操作数据表 (1)创建和修改数据表 列名中如果有两个以上单词时,最好用下划线连接,否则可能会给将来的查询维护带来不便.我们公司美国佬做的数据库就很烦,所有列名都有空格,一旦忘记用方括号就GG了. (2)删除数据表   原文地址:https://www.cnblogs.com/howie-we/p/12070942.html

SQL Server触发器创建、删除、修改、查看示例步骤

SQL Server触发器创建.删除.修改.查看示例步骤 一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束. 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表.这两个表. 一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束.    

SQL Server 触发器创建、删除、修改、查看示例

一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束. 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表.这两个表. 一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束. 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Ins

mssql2000数据库执行SQL语句来创建数据库以及数据表还有索引

创建数据库MSsql2000Create DATABASE databasename on primary (name='databasename_data',filename='C:\databasename_data.mdf',size=3mb,maxsize=UNLIMITED,filegrowth=10%)log on (name='databasename_log',filename='C:\databasename_log.ldf',size=3mb,filegrowth=10%)

Sql Server利用游标批量清空数据表

先吐槽一下,由于公司要为新客户部署一个全新的系统,然而公司并没有空库,所以只能把正在线上运行的数据库给备份,然后清空相关数据 下面分享一下我在做清空数据库时写的一个批量清空数据表的方法 思路:查询出该库下的所有表 根据表名(系统相关数据表取名都是有规律的)筛选出需要清空的表 下面,上代码 1 USE [DataBase] 2 GO 3 DECLARE @name varchar(50) 4 DECLARE @count int 5 set @count=0 6 DECLARE contact_c

sql server 数据库之间导入导出数据表

1.点击源数据库右键->任务->导出数据 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

SQL Server 2008创建数据库

1.数据.数据库.数据管理系统基本概念: 数据:人类有用信息的符号化表示. 数据库:按照数据结构来组织.存储和管理数据的一个仓库. 数据库管理系统(DBMS):可维护.存储并为应用系统提供数据的软件系统(软件+数据库+数据管理员). 可以客观描述的事物被称为"实体",不同的数据体现了不同的实体.数据每一行(Row)对应一个实体,被称为"记录(record)",每个输入项称为"列"(Column),如编号,姓名,学号等.数据"表"

DDL 数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

/*进阶 11 DDL 数据库定义语言 库和表的管理 一:库的管理:创建/修改/删除 二:表的管理:创建/修改/删除 创建: CREATE DATABASE [IF NOT EXISTS] 库名; 修改: alter 删除: DROP DATABASE [IF EXISTS] 库名; */ #一 : 库的管理 #1 库的创建 CREATE DATABASE books; CREATE DATABASE IF NOT EXISTS books; #2/库的修改 #库名的修改,需要停止服务器,然后修

????SQL Server中默认数据库和默认表的作用

我们知道Oracle数据库的安装架构可以是1个数据库对应1个或多个实例.而在SQL Server中,其架构和Oracle 完全相反,它是1个实例(默认实例名为Hostname主机名)下面包含多个数据库,在sqlserver数据库中(2000,2005,2008等),主要包含4个默认的数据库,分别是master数据库.model数据库.tempdb数据库和msdb数据库.这些数据库是SQL Server的心脏和灵魂.另外,还默认安装了两个实例数据库,分别是:northwind数据库和pubs数据库