数据库简易文件复习资料_第1页
数据库简易文件复习资料_第2页
数据库简易文件复习资料_第3页
数据库简易文件复习资料_第4页
数据库简易文件复习资料_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、请安静,谢谢数据库系统数据库用户数据库主要数据文件.mdf次要数据文件.ndf日志文件.ldf1、 图形2、 命令create database 数据库名称on primary(Name=数据文件的逻辑名称Filename=数据文件的存放的位置及名称Size=初始大小Maxsize=增长的最大值Filegrowth=增长的方式),(Name=数据文件的逻辑名称Filename=数据文件的存放的位置及名称Size=初始大小Maxsize=增长的最大值Filegrowth=增长的方式)Log on(Name=日志文件的逻辑名称Filename=日志文件的存放的位置及名称Size=初始大小Maxsi

2、ze=增长的最大值Filegrowth=增长的方式),(Name=日志文件的逻辑名称Filename=日志文件的存放的位置及名称Size=初始大小Maxsize=增长的最大值Filegrowth=增长的方式)实例如下:create database gxglon primary(Name=gxgl,Filename='d:gxglgxgl.mdf',Size=4MB,Maxsize=unlimited,Filegrowth=1MB),(Name=gxgl1,Filename='d:gxglgxgl1.ndf',Size=3MB,Maxsize=100MB,Fil

3、egrowth=20%)Log on(Name=gxgl_log,Filename='d:gxglgxgl_log.ldf',Size=1MB,Maxsize=100MB,Filegrowth=1MB),(Name=gxgl_log1,Filename='d:gxglgxgl_log1.ldf',Size=1MB,Maxsize=200MB,Filegrowth=10%);查看数据库信息1、 图形2、 命令Sp_hlepdb 数据库名称在查询窗口下,如果单独执行某条语句,需要选中该条语句。删除数据库1、 图形2、 命令Drop database 数据库名称;修改

4、数据库1、 图形修改数据文件和日志文件的逻辑名称修改数据文件和日志文件的初始大小修改数据文件和日志文件的增长方式增加数据文件和日志文件2、 命令增加数据文件Alter database 数据库名称Add file(Name=数据文件的逻辑名称Filename=数据文件的存放的位置及名称Size=初始大小Maxsize=增长的最大值Filegrowth=增长的方式)实例如下:Alter database gxglAdd file(Name=gxgla1,Filename='d:gxglgxgxa.ndf',Size=5MB,Maxsize=200MB,Filegrowth=1MB

5、);增加日志文件Alter database 数据库名称Add log file(Name=日志文件的逻辑名称Filename=日志文件的存放的位置及名称Size=初始大小Maxsize=增长的最大值Filegrowth=增长的方式)实例如下:Alter database gxglAdd log file(Name=gxgla1q,Filename='d:gxglgxgxaq.ldf',Size=5MB,Maxsize=200MB,Filegrowth=1MB);通过数据库管理数据-创建用户数据库-创建表(所有数据放在表中)如何创建表?1、 图形新建表-指定列名、数据类型、字段

6、长度(创建表结构)列名:用户自定义数据类型:根据存放的数据来决定选择哪种数据类型100 数值你好 字符Abc 字符Hello 字符A123 字符a- z或A-Z或字母加数字或特殊符号df* 字符$500 货币2009-112-25 日期字段长度Abcd 4Qw 22、 命令create table 表名称(Id char(6),name char(6),bron smalldatetimetel char(8);先创建数据库-创建表(用户数据库下创建的)打开数据库use 数据库名称;先打开数据库use-再创建表例子:use glxt;create table stu2(Id char(6),n

7、ame char(6),bron smalldatetime,tel char(8);Go注意:1、 先打开数据库use2、 指定表名3、 列名等信息放在括号内4、 每个列后用逗号分隔,且最后一个列名不用逗号5、 所有标点符号用英文标点符号6、 选择正确的数据类型(重要)p277、 字段的长度要指定正确8、 有些数据类型是不用加长度 的删除数据表图形命令先打开要删除表的数据库drop table 表名称;之前讲的和现在讲的不知怎么联系一起表的修改图形前提是这个表要存在先创建数据库à创建表工具-选项-designers-阻止保存要求重新创建表的更改(去掉复选框)命令向表增加新列Alte

8、r table 表名称车员Add 字段 数据类型;从表中删除存在的列Alter table 表名称 Drop column 字段;先打开数据库 use 数据库名称;数据库:管理数据,数据都放在表中了先创建数据库,再创建表,再向表中插入数据向表中插入数据图形命令Insert into 表名称 列的列表 values 值的列表;注意:1、 先打开数据库use 数据库名称;2、 插入数据的表要存在3、 列必须存在4、 列的列表要用括号括起来,列之间用逗号分隔5、 值的列表要用括号括起来,值之间用逗号分隔6、 如值的数据类型是日期或字符,值的二边用单引号7、 所有标点符号用英文8、 列的列表数量要和值

9、的列表数量一致9、 列的列表可以省略,默认向所有的列中插入数据10、 列的列表可以指定数量,值的列表也使用相同的数量11、 值的顺序要和列表中的顺序相同12、 每一次只能插入一条记录修改数据图形命令update 表名称 set 列名=修改的值 where 修改的条件;注意:1、 数据库必须是打开use 数据库名称;2、 修改的表必须是存在3、 列名必须在表中存在4、 修改值的类型如果是字符或日期,用单引号5、 Where条件可有可无,如果没有加where的话,修改表中的所有记录,如果加where,修改满足条件的记录被修改,不满足条件的记录不被修改6、 当修改多个列时,用逗号分隔如:use gl

10、xt;goupdate stu2 set name='小王'use glxt;goupdate stu2 set name='大王' where Id='A0107'use glxt;goupdate stu2 set name='大张',bron='2005-05-05',tel='4444444' where Id='A0107'删除数据图形命令delete from 表名称 where 删除的条件注意:1、 数据库必须是打开use 数据库名称;2、 删除的表必须存在3、 指定的

11、列必须在表中存在4、 Where条件可有可无,如果没有加where的话,删除表中的所有记录,如果加where,满足条件的记录被删除,不满足条件的记录不被删除(实际操作中,一定要注意要where条件)5、 如果是字符或日期,用单引号如:use glxt;godelete from dbo.stu2;use glxt;godelete from dbo.stu2 where Id='A0103'查询数据图形命令select 列的列表 from 表名称 where 查询条件;注意:1、 数据库打开use 数据库名称;2、 列在表中存在,列之间用逗号分隔,如果查询表的所有列,可以用*表

12、示。3、 列的列表中可以指定某些列4、 表名必须存在5、 Where条件可有可无,如果没有加where的话,查询表中的所有记录,如果加where,满足条件的记录被查询,不满足条件的记录不被查询数据库的基本操作:增:insert删:delete改:update查:select复习:目的:1、知识总结2、联系3、个别创建数据库(修改、删除数据库)->创建表(修改表结构、删除表)->插入insert、修改update、删除delete、查询select数据考试:主要考命令。这二次的复习,我们是记平时分,记分1、 创建student数据库,包含二个数据文件和一个日志文件,主数据文件的逻辑名

13、stu_data,初始大小4MB,最大是8MB,增长的速度为20%,次要数据文件的逻辑名stu_data1,初始大小2MB,最大是9MB,增长的速度为1MB,日志文件的逻辑名stu_log,最大大小不受影响,增长速度为1MB,初始大小是2MB,所有的数据文件和日志文件均保存在D盘的stu目录下。创建数据库(指定二个数据文件和一个日志文件) 1创建四个表 2 插入数据 3修改数据库(增加一个数据文件和一个日志文件) 4修改表(向student表中增加二个字段,向class表增加一个字段) 5修改数据(dept表中的外语系改为英语系) 删除数据(student表中s_id号为0902011102的

14、记录) 6查询数据图形命令select 列的列表 from 表名称 where 查询条件;注意:1、数据库打开use 数据库名称;2、列在表中存在,列之间用逗号分隔,如果查询表的所有列,可以用*表示。3、列的列表中可以指定某些列4、表名必须存在5、Where条件可有可无,如果没有加where的话,查询表中的所有记录,如果加where,满足条件的记录被查询,不满足条件的记录不被查询三个方面:1、 确定查询的表2、 确定显示的列3、 确定条件关系运算符:> >= < <= =!=或<>1、 查询所有学生的记录Select * from student;2、 查询

15、李东的学生学号和姓名性别Select s_id,s_name,s_ex from student where s_name='李东'3、 查询不及格的课程名称。Select c_name,period from course where period<60;4、查询成绩大于60分的课程类型Select c_name,period from course where period>=60;5、查询不是团员的学生姓名性别政治面貌Select s_name,s_ex,politic from student where politic<>'团员'

16、;逻辑运算符:and与(所有条件都满足) 2or 或(其中之一条件满足) 3not非(反)16、查询政治面貌为团员的男同学的姓名,性别,出生地。Select s_name,s_ex,place from student where politic='团员' and s_ex='男'7、查询成绩在60到70之间的课程名称和学分Select c_name,credit from course where period>=60 and period<=70;Select c_name,credit from course where period>6

17、0 and period<70;8、查询李煜、王国卉、李东同学的姓名,出生日期备注信息Select s_name,born_data,resume from student where s_name='李煜'or s_name='王国卉' or s_name='李东'9、 查询不是汉族的所有学生Select * from student where not nation='汉'Select * from student where nation<>'汉'Select * from student

18、where nation!='汉'10、 查询成绩小于60或大90的课程名称,并且学分是3学分的。优先级Select c_name,period,credit from course where (period<60 or period>90) and credit=3;聚合函数Sum()Avg()Count()Max()Min()11、 查询学生人数Select count(*) from student;12、查询男同学人数Select count(*) from student where s_ex='男'13、查询党员男同学的人数Select

19、 count(c_name) from student where politic='党员' and s_ex='男'14、查询课程类型为职业基础课的平均分Select avg(period) from course where c_type='职业基础课'15、查询2学分的职业基础课的最高成绩和最低成绩及平均成绩Select avg(period),max(period),min(period) from course where c_type='职业基础课' and credit=2;特殊运算符p112between . an

20、d 区间的范围 包括下限和上限 等价于 >=* and <=*not between . and16、查询成绩在60到70之间的课程名称和学分Select c_name,period from course where period between 60 and 70;17、查询成绩不在60到70之间的课程名称和学分Select c_name,period from course where period not between 60 and 70;Is null 为空的is not null 不为空的空:不是指空格,也不是0,就是没有输入任何内容,空用null表示空格也是一个字符

21、select * from Student;insert into student(S_id,S_name,S_ex,Born_date,nation,place,politic,tel,address,Class_id,resume,bjmc,zymc)values ('0904091102','小王','女','1989-3-11','汉','江苏宿迁','团员','#39;,'江苏省宿迁市','09040911',

22、'',null,0)18、查询没有专业名称的记录Select * from student where zymc is null;19、查询有专业名称的记录Select * from student where zymc is not null;in 属于一个集合not in 不属于一个集合用括号()表示集合20、查询小张、小李、小王、小强的学生记录select * from Student where S_name in('小张','小李','小王','小强');21、查询不是小张、小李、小王、小强的学生记录se

23、lect * from Student where S_name not in('小张','小李','小王','小强');22、查询成绩不在80到90之间的课程名称、成绩、和学分。Select c_name,period,credit from course where period not between 80 and 90;23、查询70-80分的职业技术课的记录Select * from course where period between 70 and 80 and c_type='职业技术课'24、查询

24、没有备注信息的记录Select * from student where resume is null;Select * from student where resume=;25、查询姓名为空的或为空格的男同学Select * from student where (resume='' or resume is null) and s_ex='男'25-2、查询姓名为空的或为空格的民族为汉的男同学Select * from student where (resume='' or resume is null) and s_ex='男&#

25、39; and nation='汉'25-1、查询姓名为空的男同学Select * from student where resume is null and s_ex='男'Select * from student where resume='' and s_ex='男'26、查询党员和群众的学生记录Select * from student where politic in('党员','群众');27、查询学分不是2、3、4学分的记录Select * from course where cre

26、dit not in(2,3,4);like字符匹配的操作符通配符:% 0或多个任意字符_ 任意单个字符28、查询姓张的学生姓名和性别Select s_name,s_ex from student where s_name like '张%'29、查询姓名为二个字的姓张的学生姓名和性别Select s_name,s_ex from student where s_name like '张_'函数:每个函数实现不同的功能,可以和select语句联合使用Len 字符串的长度select LEN('abcdef')30、查询姓名为三个字的学生Selec

27、t * from student where len(s_name)=3;31、查询出生地为二个字且姓李的学生。Select * from student where len(place)=2 and s_name like '李%'Lower字符串转小写Upper字符串转大写select LOWER('ASDF')SELECT UPPER('sdfa')32、以小写的方式显示班级名称Select lower(bjmc) from student32、以大写的方式显示班级名称Select upper(bjmc) from studentltrim

28、 清除字符左边的空格rtrim 清除字符右边的空格'abc ' select rtrim('abc ')' abc' select ltrim(' abc')' abc ' select ltrim(rtrim(' abc ') 函数嵌套33、将姓名右边的空格去除后显示Select rtrim(s_name) from student;34、将性别的前后空格去除Select ltrim(rtrim(s_ex) from student;35、查询班级名称为6的记录,并将班级名称左右的空格去除。Sel

29、ect ltrim(rtrim(bjmc) from student where len(bjmc)=6;36、将学分为3的课程名称的英文变为大写Select upper(c_name) from course where credit=3字符的二边加单引号,如果是字段名的,不需要加单引号Where条件后面是一个表达式= > < <= >= <> and or not in not in likt not like is null is not null Left 从字符串左边返回指定数目的字符Right 从字符串右边返回指定数目的字符'abcdef

30、' left('abcdef',3) ->abc'abcdef' right('abcdef',3) ->defselect left('abcdef',5)select right('abcdef',2)37、查询姓李的学生Select * from student where left(s_name,1)= '李'38、查询家庭地址以南通市结尾的学生姓名和家庭地址Select s_name,address from student where right(address,3)

31、= '南通市'39、查询课程名称以”商”字开头以”语”字结束的所有记录Select * from course where left(c_name,1)= '商' or right(c_name,1)= '语'replace 替换字符串中的字符select replace('abcdef','bc','99')40、将姓名中的东换为南select replace(s_name,'东','南') from student;41、将家庭地址为江苏省的改为江苏select

32、replace(address,'江苏省','江苏') from student;42、将学分为3的职业技术课替换为职业技能课。Select credit 学分,replace(c_type,'术','能') 课程类型 from course where credit=3;Space 返回空格Select Space(4)+连接 字符Select 'A'+'b' 'ab'Select '我爱你'+'中国' '我爱你中国'Select &

33、#39;我爱你'+Space(8)+'中国'43、将姓名为二个字的中间加二个空格Select left(s_name,1)+space(2)+right(rtrim(s_name),1) from student where len(s_name)=2;44、在性别后加三个空格后,再加同学二字。Select s_ex+space(3)+'同学' 性别 from student;substring 返回字符串中从指定位置开始的N个字符我爱你中国 2 2 爱你Select Substring('我爱你中国',2,2) 爱你Select Sub

34、string('我爱你中国',3,2) 你中Select Substring('我爱你中国',4,1) 中Select Substring('我爱你中国',1,3) 我爱你45、查询政治面貌为团员姓名是三个字且姓名中间为国字的学生记录。Select * from student where politic='团员' and len(s_name)=3 and substring(s_name,2,1)= '国'46、查询学生编号的4至6位为409的男学生编号、姓名、性别Select s_id,s_name,s_ex

35、 from student where substring(s_id,4,3)=409 and s_ex='男'getdate 返回系统的日期 day 返回天数month 返回月数year 返回年select getdate()select day(getdate()select month(getdate()select year(getdate()47、查询男同学的年龄。Select s_ex,year(getdate()-year(born_date) 年龄 from student where s_ex='男'48、查询所有团员是哪个月出生的。Selec

36、t month(born_date) from student where politic='团员'49、查询李东的出生日。Select day(born_date) from student where s_name='李东'round 四舍五入select round(45.6826,2) 45.68select round(45.6826,1) 45.7select round(45.6826,0) 46select round(45.6826,-1) 50select round(45.6826,-2) 050、将查询课程名称、成绩、学分,并将成绩保留1

37、位小数。Select c_name,round(period,1),credit from course;1、 别名 as 结果集显示别名1、 查询所有男同学人数。Select count(*) as 人数 from student where s_ex='男'Select count(*) 人数 from student where s_ex='男' Select c_name 课程名称,round(period,-1) 成绩,credit 学分 from course;2、 去重复值 distinct1、 查询学生姓名,并将同名同姓名的学生去除Select

38、distinct s_name from student;2、查询有哪些政治面貌。(去重)Select distinct politic from student3、 排序 order by 要排序的字段名 注:可以按多列排序升: asc 默认的排序方式降:desc1、按学号排列班级的学生名单,内容包括学号,姓名,性别,用于老师的花名册Select s_id 学号,s_name 姓名,s_ex 性别 from student order by s_id desc; 按学号降序Select s_id 学号,s_name 姓名,s_ex 性别 from student order by s_id;

39、 按学号升序Select s_id 学号,s_name 姓名,s_ex 性别 from student order by s_id asc; 按学号升序2、查询学生姓名,学号,性别,并按学号降序、性别升序排序 Select s_id 学号,s_name 姓名,s_ex 性别 from student order by s_id desc,s_ex asc;4、分组 group by 分组的字段查询男女生人数Select s_ex,count(*) from student group by s_ex;查询各专业人数Select zymc,count(*) from student group

40、by zymc;查询各地区人数Select place,count(*) from student group by place;查询各分数的人数Select period,count(*) from course group by geriod;查询各政治面貌人数Select politic,count(*) 人数 from student group by politic;查询各政治面貌男女人数Select politic,s_ex,count(*) 人数 from student group by politic,s_ex;4、分组 条件 group by 分组的字段 having (选

41、做)统计政治面貌人数大于等于2的。Select politic,count(*) 人数 from student group by politic having count(*)>=2;数据库(创建、修改、删除)->表(创建、修改、删除)->查询、更新、插入、删除数据(运算符、函数)完整性约束防止数据库中出现不符合规定的数据,为了维护数据的规范,就有数据完整性约束。1、主键约束 primary key身份证号学号银行卡号编号。能否重复?答案:不能字段设置主键约束:保证数据没有重复,且数据不能为空值(null),一个表中只能设置一个主键,主键可以设置在一个列上,也可以在多个列上

42、设置主键。如何创建主键呢?1、图形工具-选项-designers-阻止保存要求重新创建表的更改(去掉复选框)名称2、命令1、创建表时,创建主键约束给你一个表结构,要求用语句创建表,考试时会考的。 没有约束的情况Create table score(s_id char(10),c_id char(6),grade int,resume varchar(40);对一个字段设置主键约束,没有设置主键的名称,则这个主键名称由系统给定Create table score(s_id char(10) primary key,c_id char(6),grade int,resume varchar(40)

43、;对一个字段设置主键约束,并设置主键的名称Create table score(s_id char(10) constraint pk_sco primary key,c_id char(6),grade int,resume varchar(40);对多个字段设置主键约束,并设置主键的名称Create table score(s_id char(10),c_id char(6),grade int,resume varchar(40) constraint pk_score primary key(s_id,c_id);2、表创建好,增加主键约束alter table score add c

44、onstraint pk_s primary key (s_id);2、唯一约束 unique字段设置唯一约束:保证数据没有重复,一个表中可以设置多个唯一约束1、图形2、命令1、创建表时,创建唯一约束没有约束的情况Create table score(s_id char(10),c_id char(6),grade int,resume varchar(40);对一个字段设置唯一约束, 没有设置唯一约束的名称,则这个名称由系统给定Create table score(s_id char(10),c_id char(6) unique,grade int,resume varchar(40);对

45、一个字段设置唯一约束,并设置唯一的名称Create table score(s_id char(10) constraint ix_sco unique,c_id char(6),grade int,resume varchar(40);2、表创建好,增加唯一约束alter table dept add constraint uk_dept unique(dept_id);3、检查约束 check过滤器,来检查输入的值是否满足设置的约束条件,如果满足条件,值是可以录入表的,如果不满足条件,值是不能录入表的1、图形2、命令1、创建表时,创建检查约束Create table teacher(t_i

46、d char(4) constraint nn_tea not null constraint pk_tea primary key,t_name char(8) not null,t_sex char(2) constraint ck_tea check(t_sex in('男','女'),title char(10);Create table teacher(t_id char(4) not null primary key,t_name char(8) not null,t_sex char(2) check(t_sex in('男','女'),title char(10);2、表创建好,增加检查约束alter table student add check(s_ex in('男','女');alter table student add check (len(tel)=11);4、非空约束 not null值不能为空 1、图形 2、命令1、创建表时,创建非空约束 没有约束的情况Create table score(s_id char(10),c_id char(6),grade int,resume varchar(40);加非空约束Create t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论