数据库与SQL语言
BIG_GENERAL_DD
好好学习,天天向上.
展开
-
数据库学习(1)
1. 范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。目前关系数据库有六种范式:第一范式( 1NF)、第二范式( 2NF )、第三范式( 3NF )、 Boyce-Codd 范式( BCNF )、第四范式( 4NF )和第五范式( 5NF )。满足最低要求的范式是第一范式( 1NF)。在第一范式的基础上进一步满足更多要求的称为第原创 2017-06-02 19:24:07 · 326 阅读 · 0 评论 -
MySQL必知必会 (8)
用通配符进行过滤通配符本身实际是SQL的WHERE子句中有特殊含义的字符。1、LIKE操作符通配符(wildcard) 用来匹配值的一部分的特殊字符。搜索模式(search pattern) 由字面值、通配符或两者组合构成的搜索条件。为在搜索子句中使用通配符,必须用LIKE操作符。LIKE指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。1.1、百分号(%)通...原创 2018-05-28 18:59:16 · 362 阅读 · 0 评论 -
MySQL必知必会 (9)
用正则表达式进行搜索正则表达式是用来匹配文本的特殊的串(字符集合)。使用MySQL正则表达式正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较。MySQL用WHERE子句对正则表达式提供了初步的支持,允许你指定正则表达式,过滤SELECT检索出的数据。注意:MySQL仅支持多数正则表达式实现的一个很小的子集。...原创 2018-06-05 20:36:41 · 179 阅读 · 0 评论 -
mysql 中使用 where 1=1和 1=1 的作用
Mysql中where 1=1 和count(0) 使用小技巧mysql中使用 where 1=1和 1=1 的作用转载 2018-06-01 16:10:30 · 20700 阅读 · 0 评论 -
Mybatis中的 ${} 和 #{}区别与用法
Mybatis 的Mapper.xml语句中parameterType向SQL语句传参有两种方式:#{}和${}我们经常使用的是#{},一般解说是因为这种方式可以防止SQL注入,简单的说#{}这种方式SQL语句是经过预编译的,它是把#{}中间的参数转义成字符串,举个例子:select * from student where student_name = #{name} 预编译后,会动态解析成一个...转载 2018-06-09 12:07:35 · 1254 阅读 · 0 评论 -
MySQL必知必会 (10)
创建计算字段10.1 计算字段计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的。字段(field) 基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用在计算字段的连接上。重要的是要注意到,只有数据库知道SELECT语句中哪些列是实际的表列,哪些列是计算字段。10.2 拼接字段拼接(concatenate) 将值联结到一起构成...原创 2018-06-25 11:24:29 · 177 阅读 · 0 评论 -
MySQL必知必会 (11)
使用数据处理函数11.1 函数函数一般是在数据上执行的,它给数据的转换和处理提供了方便。函数没有SQL的可移植性强 :能运行在多个系统上的代码称为可移植的(portable)。而函数的可移植性却不强。几乎每种主要的DBMS的实现都支持其他实现不支持的函数,而且有时差异还很大。11.2 使用函数用于处理文本串(如删除或填充值,转换值为大写或小写)用于在数值数据上进行算术操作(如返回绝对值,进行代数运...原创 2018-06-25 13:44:57 · 212 阅读 · 0 评论 -
MySQL必知必会 (12)
汇 总 数 据12.1 聚集函数聚集函数(aggregate function) 运行在行组上,计算和返回单个值的函数。12.1.1 AVG()函数AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。注意:只用于单个列 AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出。NULL值 AVG()函...原创 2018-06-25 15:19:01 · 157 阅读 · 0 评论 -
MySQL必知必会 (13)
分组数据分别是GROUP BY子句和HAVING子句.13.1 数据分组分组允许把数据分为多个逻辑组,以便能对每个组进行聚集计算。13.2 创建分组分组是在SELECT语句的GROUP BY子句中建立的。GROUP BY子句使用规定: GROUP BY子句可以包含任意数目的列。这使得能对分组进行嵌套,为数据分组提供更细致的控制。 如果在GROUP BY子句中嵌套了分组,数据将在最后规定的分组上...原创 2018-06-25 15:38:19 · 252 阅读 · 0 评论 -
MySQL必知必会 (14)
使用子查询14.1 子查询查询(query) 任何SQL语句都是查询。但此术语一般指SELECT语句。SQL还允许创建子查询(subquery),即嵌套在其他查询中的查询。14.2 利用子查询进行过滤第一条SELECT语句的含义很明确,对于prod_id为TNT2的所有订单物品,它检索其order_num列。输出列出两个包含此物品的订单:下一步,查询具有订单20005和20007的客户ID。利用...原创 2018-06-25 16:01:29 · 178 阅读 · 0 评论 -
MySQL必知必会 (15)
联 结 表15.1 联结相同数据出现多次决不是一件好事,此因素是关系数据库设计的基础。关系表的设计就是要保证把信息分解成多个表,一类数据一个表。各表通过某些常用的值(即关系设计中的关系(relational))互相关联。主键(primary key)外键(foreign key) 外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。关系数据可以有效地存储和方便地处理。因此,关系数...原创 2018-06-26 11:59:04 · 201 阅读 · 0 评论 -
MySQL必知必会 (16)
创建高级联结16.1 使用表别名别名除了用于列名和计算字段外,SQL还允许给表名起别名。这样做有两个主要理由: 缩短SQL语句; 允许在单条SELECT语句中多次使用相同的表。16.2 使用不同类型的联结一般我们使用的是内部联结或等值联结(equijoin)。16.2.1 自联结用自联结而不用子查询 自联结通常作为外部语句用来替代从相同表中检索数据时使用的子查询语句。处理联结远比处理子查询快得...原创 2018-06-26 13:57:14 · 169 阅读 · 0 评论 -
MySQL必知必会 (17)
组 合 查 询17.1 组合查询MySQL也允许执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回。这些组合查询通常称为并(union)或复合查询(compound query)。有两种基本情况,其中需要使用组合查询: 在单个查询中从不同的表返回类似结构的数据; 对单个表执行多个查询,按单个查询返回数据。17.2 创建组合查询可用UNION操作符来组合数条SQL查询。17.2...原创 2018-06-26 14:11:18 · 182 阅读 · 0 评论 -
MySQL必知必会 (18)
全文本搜索18.1 理解全文本搜索并非所有引擎都支持全文本搜索。两个最常使用的引擎为MyISAM和InnoDB,前者支持全文本搜索,而后者不支持。LIKE关键字,它利用通配操作符匹配文本(和部分文本)。使用LIKE,能够查找包含特殊值或部分值的行(不管这些值位于列内什么位置)。使用正则表达式,可以编写查找所需行的非常复杂的匹配模式。18.2 使用全文本搜索为了进行全文本搜索,必须索引被搜索...原创 2018-06-27 13:33:29 · 306 阅读 · 0 评论 -
MySQL必知必会 (19)
插 入 数 据19.1 数据插入INSERT是用来插入(或添加)行到数据库表的。插入可以用几种方式使用: 插入完整的行; 插入行的一部分; 插入多行; 插入某些查询的结果。19.2 插入完整的行把数据插入表中的最简单的方法是使用基本的INSERT语法,它要求指定表名和被插入到新行中的值。总是使用列的列表 一般不要使用没有明确给出列的列表的INSERT语句。仔细地给出值 不管使...原创 2018-06-27 15:46:31 · 316 阅读 · 0 评论 -
MySQL必知必会 (7)
数据过滤1、组合WHERE子句为了进行更强的过滤控制,MySQL允许给出多个WHERE子句。这些子句可以两种方式使用:以AND子句的方式或OR子句的方式使用。操作符(operator) 用来联结或改变WHERE子句中的子句的关键字。也称为逻辑操作符(logical operator)。AND操作符 OR 操作符计算次序问题的解决方法是使用圆括号明确地分组相应的操作符。2、IN操作符IN操作...原创 2018-05-28 17:44:15 · 275 阅读 · 0 评论 -
MySQL必知必会 (6)
过滤数据1、使用WHERE子句使用WHERE子句数据库表一般包含大量的数据,很少需要检索表中所有行。通常只会根据特定操作或报告的需要提取表数据的子集。只检索所需数据需要指定搜索条件(search criteria),搜索条件也称为过滤条件(filter condition)。在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。WHERE子句在表名(FROM子句)之后给出,如下所示...原创 2018-05-28 17:27:08 · 201 阅读 · 0 评论 -
MySQL必知必会 (5)
排序检索数据1、排序数据子句(clause) SQL语句由子句构成,有些子句是必需的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。下面的SQL语句返回某个数据库表的单个列:2、按多个列排序下面的代码检索3个列,并按其中两个列对结果进行排序——首先按价格,然后再按名称排序。在按多个列排序时,排序完全按所规定的顺序进行。换句话说,对于上述例子中的输出,仅在多个行具有相同的prod_pr...原创 2018-05-28 17:02:16 · 531 阅读 · 2 评论 -
快速上手MySql && MySql GUI工具 SQLyog Community
根据《疯狂软件MySql视频》所讲,总结内容如下:1.中文开发语言建议GBK2.Service Name默认为MySql,删除mysql服务器后重装如果出现问题,可以设置其他的Service Name3.默认安装文件在C:\Program Files\MySQL\MySQL Server 5.54.可以查看my.ini文件,如果需要更改语言设置,原创 2017-06-12 19:33:30 · 1258 阅读 · 0 评论 -
快速上手MySql && MySql GUI工具 SQLyog Community (2)
/*约束.约束是在表上强制执行的数据校验规则.约束主要用于保证数据库的完整性。.当表中数据有相互依赖性时,可以保护相关的数据不被删除。.大部分数据库保护以下五类完整性约束:NOT NULL、UNIQUE KEY唯一键、PRIMARY KEY 主键、FOREIGN KEY外键、CHECK检查。.约束作为数据库对象,存放在系统表中,也有自己名字。.创建约束时机:原创 2017-06-14 16:03:14 · 496 阅读 · 0 评论 -
快速上手MySql && MySql GUI工具 SQLyog Community (3)
(本节内容主要是DML语言)/*有关数据表的DML操作:INSERT INTODELETE、TRUNCATEUPDATESELECT(条件查询、查询排序、聚合函数、分组查询)多表链接和子查询INSERT语句插入数据必须先掺入tb_emp,因为tb_emp有外键约束*/CREATE TABLE tb_dept(id INT PRIMAR原创 2017-06-14 18:53:05 · 330 阅读 · 0 评论 -
快速上手MySql && MySql GUI工具 SQLyog Community (4)
/*一、常用函数:1)字符串函数#连接字符串SELECT * FROM tb_dept;SELECT CONCAT(NAME,loc) FROM tb_dept;#upper转换大写#length返回字符串长度#substr(str,pos,n)从str字符串中从pos位置开始的n个位置复制2)数值函数3)日期和时间函数now();返回当前日期和时间原创 2017-06-14 22:14:47 · 420 阅读 · 0 评论 -
快速上手MySql && MySql GUI工具 SQLyog Community (5)
(本节内容主要是多表连接与子查询)/*多表连接查询1)使用单个SELECT语句从多个表中取出相关的数据,通过多表之间关系,构建相关数据的查询。2)多表连接通常是建立在相互关系的父子表上的。3)SQL1999标准中多表连接的语法。SELECT...FROM join_tableJOIN_TYPE join_tableON join_conditionWHERE原创 2017-06-15 15:12:53 · 490 阅读 · 0 评论 -
快速上手MySql && MySql GUI工具 SQLyog Community (6)
(本节内容主要是:索引与视图)/*索引1)模式中的一个数据库对象2)作用:在数据库中用来加速对表的查询3)通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O4)与表独立存放,但不能独立存在,必须属于某个表5)由数据库自动维护,表被删除时,该表上的索引自动被删除6)索引的作用类似于书的目录,几乎没有一本书没有目录,因此几乎没有一张表没有索引怎样创建索原创 2017-06-15 16:02:29 · 495 阅读 · 0 评论 -
快速上手MySql && MySql GUI工具 SQLyog Community (7)
/*数据库的设计(1)当数据库比较复杂时,需要我们设计数据库(2)良好的数据库设计:1)节省数据的存储空间2)能够保证数据的完整性3)方便进行数据库应用系统的开发软件项目开发周期:1)需求分析阶段:分析客户业务和数据处理需求;2)概要设计阶段:设计E-R模型(概念模型),确认绣球信息正确性和完整;3)详细设计阶段:将E-R模型转换为多张表(物理模型)原创 2017-06-15 17:19:41 · 523 阅读 · 2 评论 -
数据库学习(2)
《信息系统与数据库技术》 -刘晓强在一个学生成绩系统中,学生的所有课程的成绩被以数值方式存储,当要查询一个学生的成绩或生成学生成绩单时,用户获得信息服务。在数据库中,产生数据不一致的根本原因是:数据冗余。在关系表中,不允许记录中出现重复索引值的索引是 :主索引和唯一索引。现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在原创 2017-07-19 21:43:21 · 1046 阅读 · 0 评论 -
数据库与SQL语言 知识点总结
数据库知识数据库系统DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统。一个典型的数据库系统包括数据库、硬件、软件(应用程序)和数据库管理员(DBA)4个部分。根据计算机的系统结构,DBS分成集中式、客户/服务式、并行式、分布式。 E-R模型 数据库逻辑结构设计中,将E-R模型转换为关系模型应遵循相关原则。对于3原创 2017-08-31 09:20:21 · 925 阅读 · 0 评论 -
MySQL必知必会 (2)
数据的所有存储、检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统)完成的。MySQL是一种DBMS,即它是一种数据库软件。MySQL的优越:(1)成本——MySQL是开放源代码的;(2)性能——MySQL执行很快;(3)可信赖;(4)简单;DBMS可分为两类:一类为基于共享文件系统的DBMS,(包括诸如Microsoft Access和FileMaker等用于桌面,不适合高端或者关...原创 2018-05-27 19:36:34 · 250 阅读 · 0 评论 -
MySQL必知必会 (3)
为了连接到MySQL,需要以下信息: 主机名(计算机名)——如果连接到本地MySQL服务器,为localhost; 端口(如果使用默认端口3306之外的端口); 一个合法的用户名; 用户口令(如果需要)。Eg: 为了使用crashcourse数据库,应该输入以下内容:必须先使用USE打开数据库,才能读取其中的数据。自动增量? 某些表列需要唯一值。例如,订单编号、雇员ID或(如上面例子中所示...原创 2018-05-27 20:04:58 · 233 阅读 · 0 评论 -
MySQL必知必会 (1)
1、数据库 database:保存有组织的数据的容器(一个文件或一组文件)。数据库是一个以某种有组织的方式存储的数据集合。补充:(1)、数据库软件为DBMS(数据库管理系统)。(2)、数据库是通过DBMS创建和操纵的容器。数据库可以保存在硬设备上的文件,也可以不是。2、表table:特定类型数据的结构化清单。 表是一种结构化文件,可以用来存储某种特定类型的数据。关键点:存储在表中的数据是一种类型的...原创 2018-05-23 13:47:12 · 170 阅读 · 0 评论 -
MySQL必知必会 (4)
检索数据每个SQL语句都是由一个或多个关键字构成的,SELECT语句的用途是从一个或多个表中检索信息。1、检索单个列结束SQL语句: 多条SQL语句必须以分号(;)分隔。如果你使用的是mysql命令行,必须加上分号来结束SQL语句。SQL语句和大小写 :请注意,SQL语句不区分大小写,因此SELECT与select是相同的。同样,写成Select也没有关系。使用空格: 在处理SQL语句时,其中所有...原创 2018-05-28 15:15:31 · 1534 阅读 · 0 评论 -
MySQL必知必会 (20)
更新和删除数据20.1 更新数据采用两种方式使用UPDATE: 更新表中特定行; 更新表中所有行。不要省略WHERE子句 在使用UPDATE时一定要注意细心。因为稍不注意,就会更新表中所有行。基本的UPDATE语句由3部分组成,分别是: 要更新的表; 列名和它们的新值; 确定要更新行的过滤条件。在UPDATE语句中使用子查询 UPDATE语句中可以使用子查询,使得能用SELE...原创 2018-06-27 16:01:59 · 186 阅读 · 0 评论