C# 与 SQL Server 的操作


前言

通过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 可以简单理解为数据访问组件化技术,主要包括两个组件
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值