😧 一、sql_server技术介绍
SQL Server 是由微软公司(Microsoft)开发的关系型数(RDBMS)。RDBMS 是 SQL 以及所有现代数据库系统的基础,比如 MS SQL Server,IBM DB2,Oracle,MySQL 以及微软的 Microsoft Access。
😧二、学习前的准备工作
编程软件:SQL Server Management Studio 2012
带好你的小板凳,我们一起扬帆起航!
😧三、学习时的具体操作
😜3.1创建一个数据库
create database dbtest
on --数据文件
(
name = 'stu_1',
filename = 'D:\sql的自学笔记\stu_1.mdf',
size = 5MB,
filegrowth = 2MB
)
log on
(
name = 'stu_1_log',
filename = 'D:\sql的自学笔记\stu_1_log.ldf',
size = 5MB,
filegrowth = 2MB
)
上述代码就是通过语句法来创建一个dbtest的数据库啦!
那此时刚入门的你们是不是也有一个疑惑,就是万一我的数据库中已经有了这一个数据库了,那我插入的时候不就报错了吗?为了更好的解决这一问题,我们可以加入这样一句话
if exists(select * from sys.databases where name = 'dbtest')
drop database dbtest
这句话的意思就是,他会在你的数据库文件中找到存放你建立数据库的位置,看是否存在,如果存在了就会删除掉,其实这个操作很危险💢💢!!为什么呢?因为假设前一个程序猿在这个数据库里面存放了一些很严重的资料,那么你一不小心直接把它删除了那是不是就相当于删库跑路啦哈哈哈哈!!!
💢💢可是我知道身为小懒虫的你们一定不太喜欢打这么多的代码,所以以下还有一个更简便的方式创建数据库。
create database dbtest
😜3.2创建一个表
🤔在创建表的时候也有类似的操作,首先肯定少不了create table,table就是表单的意思啦!
创建表的基础代码
create table 表名
(
名字 数据类型
名字 数据类型
名字 数据类型
)
大概就是这个框架啦!!
接下来我将创建一个部门表,一个职级表,一个员工表
部门表:
create table department
(
--部门编号 primary key主键的意思,代表不能重复 identity(1,1):自动增长,初始值1,增长步长为1
DepartmentId int primary key identity(1,1),
--部门名称
DepartmentName nvarchar(50) not null,
--部门描述
DepartmentRemark text
)
职级表
--char:定长 ,char(10),无论存储数据是否真的到了十个字节,都要占用十个字节。
--varchar:变长,varchar(10),最多占用十个字节
--text长文本
--char,varchar,text前面加一个n:存储Unicode字符,对中文友好
create table s_rank
(
--职级编号 primary key主键的意思,代表不能重复 identity(1,1):自动增长,初始值1,增长步长为1
RankId int primary key identity(1,1),
--职级名称
RankName nvarchar(50) not null,
--职级描述
RankRemark text
)
员工表
--员工表
--check相当于约束的意思,你要输入此时的数据时,你要遵守我的规矩
--default这个字段,如果你没有对此时的位置进行输入,那么此规定自认为是男
--datetime可以存储年月日时分秒
--unique表示是唯一的不能重复出现的
create table People
(
PeopleId int primary key identity(1,1), --员工编号
DepartmentId int references department(DepartmentId) not null,--部门(引用外键)
RankId int references s_rank(RankId) not null,--职级(引用外键)
PeopleName nvarchar(50) not null, --姓名
PeopleSex nvarchar(1) default('男') check(PeopleSex = '男' or PeopleSex = '女') not null,--性别
PeopleBirth datetime not null, --生日
PeoPleSalary float check(PeoPleSalary >= 1000 and PeoPleSalary <= 10000) not null, -- 月薪
PeoplePhone varchar(20) unique not null, --电话
PeopleAddress varchar(300),--地址
PeopleAddtime datetime default(getdate()) --添加时间
)