就不介绍了在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)