SQL Server

本文详细介绍了数据库的基础知识,包括如何打开和管理数据库,创建和修改数据表,以及进行数据库的迁移操作。通过实例展示了SQL命令,如创建、删除数据库及表,以及如何进行表结构的修改。此外,还探讨了数据类型的选择,如char、varchar和text,并强调了Unicode字符存储的重要性。
摘要由CSDN通过智能技术生成
  1. 数据库

数据库:数据库是"按照数据结构来组织、存储和管理数据的仓库",是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
2.数据表展现形式: (二维表)
在这里插入图片描述
3.打开数据库
(1)启动服务

  • 命令行启动 net start mssqlserver
  • SQL Server配置管理器
  • Windows服务

(2)打开SQL SERVER Management Studio,使用工具连接到数据库。

  • Windows身份验证
  • SQL Server身份验证 (数据库服务和工具不在同一个地方)
  1. 数据库基本操作:
    (1)建库。
    (2)建表。
    (3)数据维护。

  2. 数据库的迁移:
    (1 )数据库的分离、附加; (分离和删除的区别在于硬盘上是否还留存有数据库文件)
    (2)数据库的备份,还原;
    (3 )数据库脚本的保存;

  3. 创建数据库


-- 删除数据库
if exists(select * from sys.databases where name = 'DBTEST')
	drop database DBTEST
	
--创建数据库
create database DBTEST
on --数据文件
(
	name = 'DBTEST', --逻辑名称
	filename = 'D:\DATA\DBTEST.mdf", --物理路径和名称
	size = 5MB, --文件的初始大小
	filegrowth = 2MB --文件增长方式可以写大小,也可以写百分比
)
log on --日志文件
(
	name = 'DBTEST. log', --逻辑名称
	filename = 'D:\DATA\DBTEST. _log.Idf', --物理路径和名称
	size = 5MB, --文件的初始大小
	filegrowth = 2MB --文件增长方式可以写大小,也可以写百分比
)--创建数据库
create database DBTEST

切换数据库

use DBTEST

建表

-- 判断表是否存在
if exists(select * from sys.objects where name='Department' and type = 'U')
-- 删除表
	drop table Department
--建表(部门,职级,员工)
create table Department
(
	--部]编号,primary key:主建,identity(1,1):自动增长,初始值1,增长步长1
	DepartmentId int primary key identity(1,1)--部门名称
	DepartmentName nvarchar(50) not null,
	--部门]描述
	DepartmentRemark text
)
-- 职级
create table [Rank]
(
	--职级编号,primary key:主建. identity(1,1:自动增长初始值1 ,增长步长1
	RankId int primary key identity(1,1),
	--职级名称
	RankName nvarchar(50) not null,
	--职级描述
	RankRemark text
)

--员工
create table People
(
	PeopleId int primary key identity(1,1), --员工编号
	DepartmentId int references Department(DepartmentId) not null, --部门(引用外键)
	RankId int references [Rank](RankId) not null,--职级(引用外键)
	PeopleName nvarchar(50) not null, --姓名
	PeopleSex nvarchar(1) default('男') check(PeopleSex= '男' or PeopleSex='女') not null,--性别
	PeopleBirth smalldatetime not null, --生日
	PeoPleSalary decimal(12,2) check(PeoPleSalary >= 1000 and PeoPleSalary <= 1000000 not null,--月薪
	PeoplePhone varchar(20) unique not null, --电话
	PeopleAddress varchar(300), --地址
	PeopleAddTime smalldatetime default(getdate()) --添加时间
)

修改表结构

--(1)添加列
--alter table 表名 add 新列名 数据类型
--给员工表添加一列邮箱
alter table People add PeopleMail varchar(200)

--(2)删除列
--alter table 表名 drop column 列名
--删除邮箱这一 列
alter table People drop column PeopleMail

--(3)修改列
--alter table 表名 alter column 列名 数据类型
--修改地址varchar(300)为varchar(200)
alter table People alter column PeopleAddress varchar(200)
--维护约束(删除,添加)
--删除约束
--alter table 表名 drop constraint 约束名
--删除月薪的约束
alter table People drop constraint CK_ People_ PeoPleSa_ 34C8D9D1

--添加约束( check约束)
--alter table 表名 add constraint 约束名 check(表达式)
--添加工资字段约束,工资必须在1000-1000000之间
alter table People add constraint CK_ People_ PeoPleSal
check(PeoPleSalary> = 1000 and PeoPleSalary< = 000000)

--添加约束( check约束)
--alter table 表名add constraint 约束名 check(表达式)

--添加约束(主键)
-- alter table 表名 add constraint 约束名 primary key(列名)

--添加约束(唯一)
--alter table 表名 add constraint 约束名 unique (列名)

--添加约束(默认值)
--alter table 表名 add constraint 约束名 default 默认值 for 列名

--添加约束(外键)
--alter table 表名 add constraint 约束名 foreign key(列名) references 关联表名(列名(主键))



  • char:定长, char(10),无论存储数据是否真的到了10个字节,都要占用10个字节。
  • char(10)存储”ab’,仍然占用10个字节
  • varchar:变长,varchar(10),最多占用10个字节。
  • varchar(10)存储’ab’ ,占用2个字节
  • text:长文本
  • char,varchar,text前面加n:存储unicode字符,对中文友好.
  • varchar(100):存储100个字母或者50个汉字。|
  • nvarchar(100):存储100个字母或者100个汉字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值