前言
通过T-SQL建立数据库
提示:以下是本篇文章正文内容,下面案例可供参考
一、数据库简介
1.系统数据库
名称 | 作用 |
---|---|
master | 主要用来管理其他数据库的信息 |
model | 数据库的模板数据 |
2.用户数据库
名称 | 作用 | 扩展名 |
---|---|---|
主数据文件 | 一个数据库有,且只能有一个主数据文件,mdf扩展名 | *.mdf |
次要数据文件 | 可以根据需要,添加多个,并且分布到不同的磁盘路径 | *.ndf |
日志文件 | 有且至少有一个。也可以有多个 | *.ldf |
二、数据库建立
1.建立数据库
use master
go
if exists(select * from sysdatabases where name='CourseManageDB')
drop database CourseManageDB
go
--创建数据库
create database CourseManageDB
on primary
(
--数据库的逻辑文件名(就是系统用的,必须唯一)
name='CourseManageDB_data1',
--数据库物理文件名(绝对路径)
filename='D:\DB\CourseManageDB_data1.mdf',--主数据文件名
--数据库初始文件大小(一定要根据你的实际生产需求来定)
size=20MB,
--数据文件增值量(也要参考文件本身大小)
filegrowth=1MB
)
,
(
name='CourseManageDB_data2',
filename='D:\DB\CourseManageDB_data2.ndf',--次要数据文件名
size=20MB,
filegrowth=1MB
)
log on
(
name='CourseManageDB_log',
filename='D:\DB\CourseManageDB_log.ldf',--日志文件名
size=10MB,
filegrowth=1MB
)
go
2.创建数据表
- Identity:指定标志列,起始数值和增长量,后续不需要显示设置
- Primary key:设置为主键
- char 和 Varchar区别:varchar类型用于存储可变长的字符串,char类型用于存储定长的字符串
- default:可以添加默认值
- Unique:唯一约束
- check:检查约束
- and:条件与
- 表格建立后,如需修改列名或增加列,需要从表格 右键 > 设计 里修改
- 必须先建主键表,再建外键表
- 主外键数据类型和长度必须相同
If exists(Select * from sysobjects where name = 'Student') Drop table Student
If exists(Select * from sysobjects where name = 'Class') Drop table Class
Create table Class
(
ClassID int Identity(100, 1) Primary key,
ClassName varchar(20)
);
Create table Student
(
StudentID int Identity(1000,1) Primary key,
Gender char(2),
HomeAddress nvarchar(100) default ('地址不详'),
IDNo char(18) unique not null check(len(IDNo)=18),
ClassID int references Class(ClassID)
);
3.增删改查数据
Insert into Class(ClassName) values('软件1班'),('软件2班'),('软件3班');
Insert into Student(StudentName, Gender, HomeAddress, IDNo, ClassID) values('小明','男','东莞','123456789123456789',100);
Insert into Student(StudentName, Gender, HomeAddress, IDNo, ClassID) values('小红','女','广州','123456789123456790',102);
Insert into Student(StudentName, Gender, IDNo, ClassID) values('Jayson','男','123456789123456791',102);
-- 查询所有,修改列名
select StudentName, Gender, HomeAddress, IDNo, ClassID as 班级名称 from Student;
-- 通过班级查询
select StudentName, Gender, HomeAddress, IDNo, ClassID from Student where ClassID = 102;
-- 查询结果按某一列数值排序(ASC 顺序,DESC 倒序)
select StudentName, Gender, HomeAddress, IDNo, ClassID from Student where ClassID = 102 order by IDNo ASC;
-- 某一数值统计
select 班级学生数量 = count(*) from Student where ClassID = 102;
-- 主外键查询方法
select StudentName, Gender, HomeAddress, IDNo, ClassName from Student
inner join Class on Class.ClassID = Student.ClassID;
-- 更新数据
update Student set HomeAddress = '清远' where StudentName = 'Jayson';
-- 删除数据
delete from Student where StudentId = 1000;
三、C#通讯
1.ADO.NET
ADO.NET 可以简单理解为数据访问组件化技术,主要包括两个组件