版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库培训资料目录数据库培训资料1一、数据库简介21、数据库分类22、数据库界面2二、T-SQL数据库基础操作语句31、SQL语言的构成32、数据库语句操作32.1创建数据库32.2删除数据库42.3创建数据表42.5创建视图72.6删除视图7三、数据库数据操控语句81、查询语句81.1一般查询81.2带条件查询91.3模糊查询91.4 ORDER BY用法101.5 TOP 用法101.6 IN 用法111.7别名的用法111.8多表查询121.9 JOIN用法131.10 UNION用法151.11UNION ALL 用法151.12临时表162、插入语句163、更新语句174、删除语句1
2、8一、数据库简介数据库(Database)顾名思义就是用来存储数据的仓库,它是按照数据结构来组织、存储和管理数据的仓库。例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理。数据库1、数据库分类 根据存储模型划分,数据库类型主要可分为:网状数据库(Network Database)
3、、关系数据库(Relational Database)、树状数据库(Hierarchical Database)、面向对象数据库(Object-oriented Database)等(有兴趣的同学可以自己了解一下不同类型数据库的区别),商业应用中主要是关系数据库,比如Oracle、DB2、Sybase、MS SQL Server、Informax、MySQL等我们公司目前使用的是市面上主流的关系数据库MS SQL Server数据库。2、数据库界面二、T-SQL数据库基础操作语句1、SQL语言的构成l DDL语言:数据定义,定义基本表、视图、索引;l DML语言:数据操纵,查询、增加、修改、删
4、除l DCL语言:权限这里我们只讨论学习DDL、DML两种,其他类型的有兴趣的同学可以自己研究一下。2、数据库语句操作2.1创建数据库语法:create database+表名例如:create database learntest在数据库执行后就可以产生一个名为learntest的数据库注:数据库名不要出现中文、特殊符号,遵循原则:数据库中文名称首字母大写例如:建材管理系统(JCGLXT)或者英文单词缩写建材管理系统(MMO)2.2删除数据库语法:drop database+表名例如:drop database learntest2.3创建数据表之前我们创建好了数据库,数据库是由很多数据表组
5、成的,接下来就要为数据库添加数据表。语法:CREATE TABLE 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,.)说明:1、一张数据表由数据表名、数据列名(也叫字段名)组成,就像我们平时的EXCEL表格做出来的表格一样,如下图,其中员工表就是我们所说的表名,里面的姓名、年龄、爱好、岗位就是其中列名,列名下面的内容对应的就是表所存储的数据。2、数据类型是用了描述我们字段可以存储的数据类型,数据库支持的数据类型有整数型、小数型、字符型、日期型,详情见下表数据类型描述· integer(size)· int(size)· smallint(si
6、ze)· tinyint(size)仅容纳整数。在括号内规定数字的最大位数。· decimal(size,d)· numeric(size,d)容纳带有小数的数字。"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。char(size)容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。在括号中规定字符串的长度。varchar(size)容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。在括号中规定字符串的最大长度。date(yyyymmdd)容纳日期。3、实例CREATE TABLE staff(n
7、ame varchar(20),age int,hubby varchar(300),post varchar(50)注:1、表名命名不要出现汉字、特殊符号,命名规则可以遵循中文表名首字母大写例如商品档案(SPDA)或者英文名商品档案(GOODS)2、字段名命名与表名遵循同一规则参照上面的表格我们可以使用语句建立一张数据表2.4删除表有时候我们会删除一部分不需要的表,这个时候就需要用到表的删除。语法:drop table+表名例如:drop table staff2.5创建视图视图是指数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图
8、并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。语法:create view + 视图名 + (列名) + as +子查询例:create view VIEW_STAFF(name,age,hubby,post) as select name,age,hubby,post from staff注:我们公司的视图统一命名规则为VIEW_+相关表名2.6删除视图语法:drop view+视图名例:drop view VIEW_STAFF2.7建立索引索引是对数据库表中一个或多个列(例如,staff表的姓名 (name) 列)的值进行排序的
9、结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引类似于我们图书的目录,对表的某一列做一个目录可以实现快速检索的目的。语法:CREATE INDEX + 索引名 + ON STAFF+(字段名)例:CREATE INDEX INDEX_NAME ON STAFF (NAME)注:索引名不允许出现中文、特殊符号,命名规则遵循:INDEX_+字段名。2.8删除索引语法:DROP INDEX + 索引名 + ON +表名例: DROP INDEX INDEX_NAME ON STAFF三、数据库数据操控语句1、查询语句数据库的作用是用来进行数据的存储,
10、所以使用存储的数据的过程就叫做数据库的查询操作,通过不同的查询语句和限制条件的限制我们可以使用数据库语句获得我们预期想获取的数据排列展示结果。1.1一般查询语法:SELECT 字段名 + 表名例如: 1、SELECT * FROM staff 2、SELECT NAME FROM staff注:* 表示查询表中的全部字段所有数据1.2带条件查询在查询数据的时候我们有时候只需要查看一部分数据,这部分数据通常会带有一定的条件,例如只看员工王一的个人信息、或者只看年龄大于22的员工信息等等。语法:SELECT + 字段名 +FROM +表名 +WHERE条件 例: SELECT * FROM sta
11、ff where name='王一'1.3模糊查询注:其中如果字段名为数字型的,字段后面的条件不用加单引号,如果条件是其他类型的,字段值必须加双引号。 当我们对查询的内容只知道一部分不知道全部或者我们查询的内容需要包含某些共性条件的时候,这个时候可以进行模糊查询。例如查询公司姓王的人的信息、查询公司销售类岗位的人的信息等等。使用like关键字加上固定格式 '%查询内容%'语法:SELECT * FROM STAFF WHERE 字段名 LIKE '%查询内容%'例: SELECT * FROM STAFF WHERE NAME LIKE '
12、;%王%'注:1、%的用法,如果我们需要查的内容是以左边开头的,就可以去掉左边的% ,LIKE '王%'。同样当我们需要查询的内容是右边结尾的就可以去掉右边的%,LIKE '%一',当我们查询的内容在中间的位置就需要两边都加%才可以查到数据。2、切记:如果可以明确要查询的内容时,能不用%就不要用%,因为使用了%后会使我们建立好的索引失效导致查询大量数据的情况是查询速度变慢很多。1.4 ORDER BY用法查询数据的时候有的情况会需要对查询的数据做一个排序,这个时候就会用到ORDER BY关键字。通过order关键字可以对数据根据某些字段进行排序达到我们预
13、期的效果。例如按照年龄大小排序。语法:SELECT * FROM STAFF +ORDER BY +字段例: 1、SELECT * FROM STAFF ORDER BY AGE 2、SELECT * FROM STAFF ORDER BY AGE DESC注:其中在字段后面加了DESC关键字可以让结果以倒序的方式展现1.5 TOP 用法在查询数据的时候我们需要查询前面固定数量的数据的时候就可以使用TOP关键字进行处理,例如查询数据第一条记录等。语法:SELECT TOP +数字 + 字段 +表名例: SELECT TOP 1 * FROM STAFF 1.6 IN 用法 如果需要查找表里的数
14、据包含在某一个范围的时候就会用到IN关键字。例如查询表里面是否存在叫王一、刘二、孙三这几个人,如果有就返回结果。语法: SELECT 字段 FROM 表名 WHERE + 字段名 IN ('内容一','内容二','内容三',.)例: SELECT * FROM STAFF WHERE NAME IN('王一','刘二','孙三')注:IN后面的括号里面可以写子查询1.7别名的用法通过使用 SQL,可以为表名称或列名称指定别名。基本上,创建别名是为了让列名称的可读性更强。关键字AS。语法:SELECT
15、 字段名 AS 别名 FROM 表名例: 1、 SELECT NAME AS XM FROM STAFF 2、 SELECT NAME FROM STAFF1.8多表查询在实际业务中我们经常会遇到需要查询多张表,这个时候就会进行多个表联合起来查询数据,一般这种场景下,需要查询的几张表之间会有一些相同的内容作为关联的条件。 现在需要对上图的两张表进行关联查询,仔细观察可以发现两张表有一个公共的字段就是名字(name),所以我们可以根据名字来进行表的关联。语法: SELECT 表字段 + FROM +表一,表二,. + where +关联条件例: SELECT STAFF. NAME, STAFF
16、.AGE, KQB.KQSJ, KQB.SFCD FROM STAFF,KQB WHERE STAFF.NAME=KQB.NAMETIPS:以上的语句可以做简化,简化后的语句如下SELECT A.NAME, A.AGE, B.KQSJ, B.SFCD FROM STAFF A,KQB B WHERE A.NAME=B.NAME可以看到其中,STAFF与KQB被分别替换成了A 和B,这种技巧和字段别名类似,是表的别名,这样可以让SQL语句看起来结构更清晰,可读性更强。1.9 JOIN用法SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。最常见的 JOIN 类型:
17、 INNER JOIN(简单的 JOIN)、LEFT JOIN(左关联)、RIGHT JOIN(右关联)。 使用JOIN 从多个表中返回满足 JOIN 条件的所有行。INNER JOIN用法:SELECT 字段 + FROM 表一 INNER JOIN 表二 ON 关联条件例:SELECT A.NAME,A.AGE,B.KQSJ,B.SFCD FROM STAFF A INNER JOIN KQB B ON A.NAME=B.NAMELEFT JOIN用法:LEFT JOIN用法:SELECT 字段 + FROM 表一 LEFT JOIN 表二 ON 关联条件例:SELECT A.NAME,A
18、.AGE,B.KQSJ,B.SFCD FROM STAFF A LEFT JOIN KQB B ON A.NAME=B.NAME左关联的特点以左边表条数为数量,关联的时候,如果右边的表和左边表的数据关联不到(KQB表里面没有李四),那么查询的右边表的字段值为NULL值。RIGHT JOIN用法:RIGTH JOIN用法:SELECT 字段 + FROM 表一 RIGTH JOIN 表二 ON 关联条件例:SELECT A.NAME,A.AGE,B.KQSJ,B.SFCD FROM STAFF A RIGTH JOINKQB B ON A.NAME=B.NAME右关联的特点以右边表条数为数量,关
19、联的时候,如果左边的表和右边表的数据关联不到(KQB表里面有STAFF表里面没有的信息),那么查询的左边表(STAFF)的字段值为NULL值。1.10 UNION用法 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。语法: 语句一 UNION 语句二SELECT * FROM STAFF WHERE NAME ='王一'UNION SELECT * FROM STAFF WHERE NAME ='赵二&
20、#39;1.11UNION ALL 用法UNION ALL 与UNION 功能相似,唯一的区别是UNION会过滤重复的数据,UNION ALL会把结果全部显示语法: 语句一 UNION 语句二1、SELECT * FROM STAFF WHERE NAME ='王一'UNION SELECT * FROM STAFF WHERE NAME ='王一'2、SELECT * FROM STAFF WHERE NAME ='王一'UNION ALLSELECT * FROM STAFF WHERE NAME ='王一'1.12临时表在访问频率较高的数据表的时候,例如系统的销售、出库单的时候,要尽量学会使用临时表存储要取出的数据,从临时表来使用想要的数据这样做可以避免高频使用的数据表死锁问题发生。语法 SELECT 字段 INTO 临时表名 FROM 数据集实例:SELECT * INTO #TEMPXSDD20161227 FROM (SELECT DH,RQ,KHBM FROM XSDD)a 注:通过以上语句会在数据库中产生一个数据表,并且会将数据集查出来的数据插入到新建的表中,数据表命名规则#TEMP+表名+时间。2、插入语句插入语句主要用来给数据表添加数据。I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西师版四年级数学评估与反馈计划
- 医疗设备转运与废物处理流程
- 小学教育科研项目实施计划
- 2024年度海南省公共营养师之三级营养师全真模拟考试试卷A卷含答案
- 房地产开发合同管理与报建范文
- 航空货运运输合同范文
- 项目联动管理制度
- 2025年村民代表大会述职报告
- 体育场馆装修施工进度及安全保障措施
- 部编版五年级语文下册文化交流计划
- 2025年工程合作协议书
- 2025年山东省东营市东营区融媒体中心招聘全媒体采编播专业技术人员10人历年高频重点提升(共500题)附带答案详解
- 2025年宜宾人才限公司招聘高频重点提升(共500题)附带答案详解
- KAT1-2023井下探放水技术规范
- 垃圾处理厂工程施工组织设计
- 天疱疮患者护理
- 驾驶证学法减分(学法免分)题库及答案200题完整版
- 2024年四川省泸州市中考英语试题含解析
- 2025届河南省九师联盟商开大联考高一数学第一学期期末学业质量监测模拟试题含解析
- 抚养权起诉状(31篇)
- 2024年“一岗双责”制度(五篇)
评论
0/150
提交评论