创建数据库,数据表,约束整理
一、创建数据库 1.启动服务(三种) 开始--cmd--输入net start mssqlserver 开始--运行--net start mssqlserver 开始--服务--找到SQLSERVER(MSSQLSERVER)--右键--启动 2.打开ssms 3.登录:windows身份验证 混合验证模式 系统数据库: master:存储系统配置信息,数据库信息等;千万不能删; model:模板信息;空白数据库模板,表模板; tempdb:临时表,临时存储过程等; msdb:存储调度信息等; 创建数据库的语法: create database 数据库名 on ( name='数据库名', filename='盘符:\文件夹名\文件名.后缀名', size=数值mb, --主数据文件最小值为3mb filegrowth=数值mb或百分比, --按mb增长,或按百分比增长 maxsize=数值mb ) log on ( name='数据库名_log', filename='盘符:\文件夹名\数据库名_log.ldf', size=数值mb, --日志文件最小值为1mb filegrowth=数值mb或百分比, maxsize=数值mb ) go 判断是否有同名数据库存在,如果存在则先删除 1>if exists(select * from sys.databases where name='数据库名') drop database 数据库名 go 2>if db_id('数据库名') is not null drop database 数据库名 go 题目:在E盘的hello文件夹下创建数据库students,主数据文件 初始大小10mb 按10%的方式增长,不限制上限; 日志文件,初始大小3Mb, 按1mb的方式增长,最大为20mb 如果当文件夹不存在时,需要在指定文件夹下创建数据库文件,需要先启动外围配置,再调用dos命令创建文件夹 启动外围配置 exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'xp_cmdshell',1 reconfigure go 调用dos命令 exec xp_cmdshell 'md 盘符:\文件夹名\...',no_output或output go 完整的创建数据库的步骤: 1.启动外围配置 2.调用dos命令创建文件夹 3.判断是否有同名数据库存在 4.创建数据库 二、创建表 1.切换数据库 use 数据库名 go 2.判断同名表是否存在 if exists(select * from sys.objects where name='表名') drop table 表名 go 三、.创建约束 alter table 表名 add constraint pk_表名_列名 primary key(列名), --主键:不为空不重复 cosntraint uq_表名_列名 unique(列名), --唯一约束:不重复 constraint ck_表名_列名 check(条件表达式), constraint df_表名_列名 default '默认值' for 列名 go 外键:关联多个表之间的相同列; 学生信息表stuInfo:学号sno 姓名 性别 年龄 等... --学号一定是主键 学生成绩表score: 考号 学号no 成绩... --考号是主键 学号是外键 外键创建的前提,必须在另外一个表里面是主键; 主表:外键对应的主键所在的表; 从表:外键所在的表; alter table 从表名 add constraint 从表名_主表名_从表列名 foreign key(从表列名) references 主表名(主表列名) go alter table score add constraint score_stuInfo_no foreign key(no) references stuInfo(sno) go 了解"联合主键": alter table 表名 add constraint pk_表名_列名1_列名2 primary key(列名1,列名2) go