代码创建数据库_表--SqlServer数据库

时间:2024-04-09 12:07:39
/*1.创建数据库的时候需要设置的基本属性:
数据库名称 逻辑名称 初始大小 文件增长 路径*/ --语法:
-- create database 数据库名称
-- on [primary]--创建数据文件 on是指在那一个文件组上
-- (
-- --在Sql中没有字符串的概念,所有字符或者字符串都是字符,包含在‘ ’以内,没有“ ”
--name='逻辑名称_data',--什么添加,:当这一句不能独立运行,只是一个结构中的某一句组成部分,就需要添加 ,
--size=初始大小 , --数值为能包含在‘ ’以内
--Filegrowth=文件增长, --mb //%
--maxsize=最大容量,
--filename='文件的全路径(目录+文件名+扩展名mdf)' --main data file
-- )
-- log on --创建日志文件
-- (
-- name='逻辑名称_log',--什么添加,:当这一句不能独立运行,只是一个结构中的某一句组成部分,就需要添加 ,
--size=初始大小 , --数值不能包含在‘ ’以内
--Filegrowth=文件增长, --mb //%
--maxsize=最大容量,
--filename='文件的全路径(目录+文件名+扩展名ldf)' --log data file
-- )
execute sp_configure 'show advanced options',1
RECONFIGURE
execute sp_configure 'xp_cmdshell',1
RECONFIGURE
--自动创建文件夹:调用一个存储过程,传入你想创建的文件夹名称
execute xp_cmdshell 'mkdir d:\project\data\sql'
--数据库的记录保存在master 系统数据库的sysdatabases表中,所以去这个表中进行是否存在的判断
--切换当前数据库
use master
--exsits函数可以判断 ()中的查询有没有返回结果集,如果有返回就是true,否则就是false
if exists(select * from sysdatabases where name='MyBase' )
--将当前数据库删除
drop database MyBase
--创建数据库MyBase
create database MyBase
on --primary
(
name=MyBase_data,
size=3mb ,
filegrowth=10mb,
maxsize=1000mb, --没有有,就说明不限制增长
filename='d:\project\data\sql\MyBase_data.mdf'
),--一个数据库中可以创建多个数据文件和多个日志文件
(
name=MyBase_data1,
size=3mb ,
filegrowth=10mb,
maxsize=1000mb, --没有有,就说明不限制增长
filename='d:\project\data\sql\MyBase_data1.ndf'
)
log on
(
name='MyBase_log',
-- size='1mb ',
--filegrowth=10mb,
----maxsize=1000mb, --没有有,就说明不限制增长
filename='d:\project\data\sql\MyBase_log.ldf'
) --代码创建表
--语法:
--use 当前操作的数据库
--create table 表名
--(
-- 列名 数据类型 列的特征(非空 默认值 标识列 主键 外键 唯一键 check约束),
-- 列名 数据类型 列的特征(非空 默认值 标识列 主键 外键 唯一键 check约束),
-- ......
--)
--<员工表>:员工Id,身份证号,姓名,性别,入职日期,年龄,地址,手机号,所属部门、Email
use MyBase
--表存储在当前数据库的sysobjects里面
if exists(select * from sysobjects where name='Employee')
drop table Employee
create table Employee
(
Id int primary key identity(1,1), --primary key:主键:非空,唯一 identity(1,1:identity(标识种子,标识增量)
CardId char(18) not null,--not null标记非空,如果没有标记就说明可以为null
Name nvarchar(50) not null,
Gender bit not null,
InTime datetime null,
Age int not null check(age>0 and age <100),
[Address] nvarchar(255) default('广州'), --[Address]将系统关键字当成普通的用户自定义字符串进行处理
CellPhone char(11),
DepId int not null,--外键
Email varchar(50) not null
)