就不介绍了在studio中的图形化操作了,这里简单介绍了一些SQL语言的操作。
首先:
给一些例子怎样创建一个数据库对象和表(创建create 删除drop):
1、创建数据库对象
--创建数据库对象
create database School;
--删除数据库
drop database School
--创建数据库 的时候制定一些参数
create database School
on primary
(
--数据库的逻辑名称
name='School',
size=10mb,
filename='C:\school.mdf'
)
log on
(
name='School_log',
filename='C:\school.ldf'
)
2、创建表
--切换数据库
use School--点击F5可以执行 但是要先选择
--在数据库下面创建表
create table TblClass
(
--创建一列
--列名,数据类型、约束
ClsId int identity(1,1) primary key,
ClsName varchar (50) not null,
ClsDesc varchar(500),
)
drop table TblClass
--控制结果窗口的显示隐藏ctrl+R
--在创建一个表
create table TblStudent
(
StuId int identity(1,1) primary key,
StuName nvarchar(50) not null,
StuGender bit not null,
StuAddress nvarchar(200 ) ,
StuPhone varchar(500),
StuAge int,
StuBirthday datetime,
StuIdNumber varchar (20),--身份证号
StuClsId int
)
其次:介绍一些最基本的操作
增(insert)删(delete)查(select)改(update)
增删是一行一行的操作,而查改是可以改一个具体的格子(就是说是行和列交叉的地方进行修改)。所以insert、delete 就是直接的增删,
而查的语法在查中可见,select ...(A)....from.....where...(B).... 其中(A)确定了列,(B)确定了行
改的语法update....set....(A).....where....(B)... 其中(A)确定了列,(B)确定了行
1、增:(insert)
1 --通过程序向表中插入数据
2 insert into TblClass(ClsName,ClsDesc)
3 values('哈哈','你好么')
4
5 --通过select来查看表中的数据
6 select * from TblClass
--用insert into...select插入多行
insert into TblTeacher
select 'qian' ,1, 45,465546,1999-9-9 union
select 'zhu' ,1, 45,465546,1999-9-9 union
select 'zhao' ,1, 45,465546,1999-9-9 union
select 'min' ,1, 45,465546,1999-9-9 union
select 'huang' ,1, 45,465546,1999-9-9
2、删(delete)
--有条件的删除
delete from TblTeacher where tname='min'
--全部删除
delete from TblTeacher
--查看一下现在是表格是什么样子了
select * from TblTeacher
--全部删除的另一种方式
truncate table TblTeacher
--1.delete 语句删除数据的时候,自动编号没有恢复到默认值。但是truancate语句重新设置了自动编号
--2.通过truncate语句删除表中的数据的时候,只能一次性都清空,不能根据条件来删除,而delete可以根据条件来删除。
--3.truncate语句清空表中的数据时,速度(性能)比delete语句快的多的多的多。
--4..truncate语句不触发delete触发器。
3、查(select)
--查看表格现有的数据
select * from TblTeacher
--select查询的一般的格式
select
--列名
from --数据源(表名、子查询结果、视图.....)
where --条件(筛选行..)
--例子
select
fId as 学号,
fMath as 分数, --筛选出fId和fMath的列,并给他们取别名
from MyStudent --数据源是MyStudent的表
where fMath<90 --筛选行的条件
--having是在分完组之后对组的筛选,而where是在筛选之前对表格进行选择
select
tsclassId as 班级ID,
COUNT(*) as 班级人数,
from Tblstudent
where tsgender='男'
group by tsclassId
having COUNT(*)>2
这个重要,介绍了select中各条语句执行的顺序
--select中各条语句执行的顺序
--1>…From 表
--2>…Where 条件
--3>…Group by 列
--4>…Having 筛选条件
--5>…Select 5-1>选择列,5-2>distinct,5-3>top
--6>…Order by 列
select
--distinct/top 之类的关键字
fgender as 性别,--5>选择列
count(*) as 人数
from MyStudent --1>从什么表中选择数据
where fage>30 --2>
group by fgender --3>
having count(*) --4>
order by 人数 desc --6>
4、改(update)
--将所有年龄小于20的都改成19
update TblTeacher set tage=19 where tage<20
--将年龄为十九的都加一
update TblTeacher set tage=tage+1 where tage=19
--把所有人的工资都改成2000
update TblTeacher set tsalary=2000
再介绍用SQL写约束条件(alter):
简单贴一些刚刚写的代码:
--通过sql创建约束
--手动删除一列
alter table Employees drop column EmpAddress
alter table Employees add EmpAdds varchar(200)
alter table Employees alter column EmpAdds varchar(100)
--手动增加一主键
alter table Employees add constraint Pk_Employees_EmpId primary key(EmpId)
--增加一个非空约束(他本质上修改列)
alter table Employees alter column EmpName varchar(50) not null
--EmpName增加一个唯一约束
alter table Employees add constraint UQ_Employees_EmpName unique ( EmpName)
--给性别增加一个默认约束
alter table Employees add constraint DF_Employees_EmpGender default('男' ) for EmpGender
--增加一个外键约束
-- 1.给Employees增加一个外键
alter table Employees add EmpDep int
--2.将DepId设置为主键
alter table Department add constraint PK_Department_DepId primary key (DepId)
--3.创建一个外键约束
alter table Employees add constraint Fk_Empolyees_Department foreign key(EmpDep) references Department(DepId)