征服数据库之mysql
文章平均质量分 80
mysql概述:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。本专栏是博主长期以来使用mysql所记录下的点点滴滴,其中包括各种复合查询的sql语句以及事务、触发器等难点的心得体会,带你领略mysql的world。
y_keven
点线面
展开
-
Oracle与Mysql的高级查询与难点sql
一、连接查询 1.内连接 内连接用于返回满足连接条件的所有记录。默认情况下,在执行连接查询时如果没有指定任何连接操作符,那么这些连接查询都属于内连接。 Sql代码 1. SELECT a.dname,b.ename from dept a,emp b where a.deptno=b.deptno and a.deptno=10; 在FRO原创 2013-09-23 13:54:44 · 2456 阅读 · 0 评论 -
SQL逻辑查询处理顺序特别提醒
我们知道在SQL语句中,第一个被处理的子句式FROM,而不是第一出现的SELECT。这就是SQL不同于其他编程语言的最明显特征之一,以下先看一下SQL查询处理的步骤序号: (8) SELECT (9) DISTINCT (11) 2 (1) FROM 3 (3) JOIN 4 (2) ON 5 (4) WHERE 6 (5) GROUP BY 7 (6)原创 2013-11-11 19:57:59 · 1910 阅读 · 0 评论 -
in与exist , not in与not exist 的区别
in和exists in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。 如果查询的两个表大小相当,那么用in和exists差别不大。 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in: 例如:表A(小表),表转载 2013-12-05 12:28:56 · 1378 阅读 · 0 评论 -
MySQL心得10-2-锁定(非重点)
1. 伪事务前面已经介绍了InnoDB和BDB表环境中的事务,这是MySQL天生支持的ACID规则事务的仅有的表类型。旧的MySQL表类型,在许多安装MySQL的环境中仍然在使用,它们不支持事务,但是MySQL仍然可以使用户通过表锁定来实现原始形式的事务。在此介绍伪事务,提供对非事务表执行安全事务的一些基本指标。2. 锁定与解锁 因为MyISAM(以及其他旧的MySQL表)不支持I原创 2012-06-18 16:08:51 · 1422 阅读 · 0 评论 -
MySQL心得10-1--事务
1. 在MySQL环境中,事务由作为一个单独单元的一个或多个SQL语句组成。这个单元中的每个SQL语句是互相依赖的,而且单元作为一个整体是不可分割的。如果单元中的一个语句不能完成,整个单元就会回滚(撤销),所有影响到的数据将返回到事务开始以前的状态。因而,只有事务中的所有语句都成功地执行才能说这个事务被成功地执行。2.并不是所有的存储引擎都支持事务,如InnoDB和BDB支持,但MyISAM和原创 2012-06-18 16:08:16 · 1646 阅读 · 0 评论 -
MySQL心得9--用户和数据安全
1. 添加用户可以使用CREATE USER语法添加一个或多个用户,并设置相应的密码。 语法格式:CREATE USER user [identified BY [PASSWORD] 'password'][, user [IDENTIFIED BY [PASSWORD] 'password']] ...其中,user的格式为: 'user_name'@ 'host na原创 2012-06-18 16:07:38 · 1930 阅读 · 0 评论 -
MySQL心得8-2-使用SQL语句备份和恢复表数据(非重点)
1. 使用SQL语句备份和恢复表数据(提一下,不细讲)用户可以使用SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中,并用LOAD DATA …INFILE语句恢复数据。但是这种方法只能导出或导入数据的内容,不包括表的结构,如果表的结构文件损坏,则必须先恢复原来的表的结构。SELECT INTO…OUTFILE格式:SELECT * INTO OUTFILE 'f原创 2012-06-18 16:06:06 · 3256 阅读 · 0 评论 -
MySQL心得8-1-使用客户端程序备份和恢复
1. 备份和恢复需求分析数据库中的数据丢失或被破坏可能是由于以下原因:(1)计算机硬件故障。由于使用不当或产品质量等原因,计算机硬件可能会出现故障,不能使用。如硬盘损坏会使得存储于其上的数据丢失。(2)软件故障。由于软件设计上的失误或用户使用的不当,软件系统可能会误操作数据引起数据破坏。(3)病毒。破坏性病毒会破坏系统软件、硬件和数据。(4)误操作。如用户误使用了诸如DELET原创 2012-06-18 16:04:59 · 3684 阅读 · 1 评论 -
MySQL心得7-2-存储函数、触发器
创建函数:1. 存储函数也是过程式对象之一,与存储过程很相似。它们都是由SQL和过程式语句组成的代码片断,并且可以从应用程序和SQL中调用。然而,它们也有一些区别:(1)存储函数不能拥有输出参数,因为存储函数本身就是输出参数;(2)不能用CALL语句来调用存储函数;(3)存储函数必须包含一条RETURN语句,而这条特殊的SQL语句不允许包含于存储过程中。2.创建存储函数使用原创 2012-06-13 09:04:11 · 2285 阅读 · 0 评论 -
MySQL心得7-1-存储过程
1. 使用存储过程的优点有:(1)存储过程在服务器端运行,执行速度快。(2)存储过程执行一次后,其执行规划就驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。(3)确保数据库的安全。使用存储过程可以完成所有数据库操作,并可通过编程方式控制上述操作对数据库信息访问的权限。2.创建存储过程可以使用create procedure语原创 2012-06-13 09:03:16 · 6095 阅读 · 1 评论 -
Oracle数据库与MySQL数据库的区别
Oracle数据库与MySQL数据库的区别是本文我们主要介绍的内容,希望能够对您有所帮助。1.组函数用法规则mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错eg:select name,count(money) from user;这个放在mysql中没有问题在or转载 2012-06-12 21:42:23 · 11168 阅读 · 1 评论 -
MySQL心得6-3--MySQL语言结构--运算符、表达式
1. 算术运算符算术运算符在两个表达式上执行数学运算,这两个表达式可以是任何数字数据类型。算术运算符有:+(加)、-(减)、*(乘)、/(除)和%(求模)5种运算。(1)“+”运算符“+”运算符用于获得一个或多个值的和:SELECT 1.2+3.09345, 0.00000000001+0.00000000001;(2)“–”运算符“–”运算符用于从一个值中减去另一个值,并原创 2012-06-12 21:05:27 · 1985 阅读 · 0 评论 -
MySQL心得6-2--MySQL语言结构--函数
改章只是简介,不重要,具体用到什么函数可以查MySQL帮助或附录F!!!1. 数学函数数学函数用于执行一些比较复杂的算术操作。MySQL支持很多的数学函数。若发生错误,所有的数学函数都会返回NULL。(1)greatest()和least()函数是数学函数中经常使用的函数,它们的功能是获得一组数中的最大值和最小值。例如:SELECTGREATEST(10,9,128,1),LEAS原创 2012-06-12 21:04:47 · 1959 阅读 · 0 评论 -
MySQL心得6-1--MySQL语言结构--常量、变量
1.在MySQL数据库中,SQL语言由以下几部分组成。(1)数据定义语言(DDL)。用于执行数据库的任务,对数据库及数据库中的各种对象进行创建(create)、删除(drop)、修改(alter)等操作。如前所述,数据库对象主要包括:表、默认约束、规则、视图、触发器、存储过程等。不同数据库对象,其create、drop等语句的语法形式不同(2)数据操纵语言(DML)。用于操纵数据库原创 2012-06-12 21:04:04 · 5288 阅读 · 0 评论 -
MySQL心得5-2--约束
1.主键约束主键就是表中的一列或多个列的一组,其值能唯一地标志表中的每一行。通过定义PRIMARY KEY约束来创建主键,而且PRIMARY KEY约束中的列不能取空值。由于PRIMARY KEY约束能确保数据的唯一,所以经常用来定义标志列。当为表定义PRIMARY KEY约束时,MySQL为主键列创建唯一性索引,实现数据的唯一性,在查询中使用主键时,该索引可用来对数据进行快速访问。如果原创 2012-06-12 21:03:09 · 2703 阅读 · 0 评论 -
MySQL心得5-1--索引
1. MySQL有多中访问表的行,其中最常用的是顺序访问和索引访问。顺序访问就是:一行一行的浏览一个表,即全表扫描。缺点:非常费时,效率很低。索引访问是:只读取那些表现了所需特性的行,其中包含了至少一个索引;与书上的目录相似。索引:就是一个列表,包含索引字段的值和相应的页码定位。索引关键字进行了排序。查询时可以通过索引,提供查询速度.对于索引的每一项,MySQL在内部为它保存一个数据文件原创 2012-06-12 21:02:19 · 1649 阅读 · 0 评论 -
MySQl心得4--5--数据库视图
1. 修改、查询、删除记录时都会提示多少条记录被影响,但建表不会提示。当表的数据修改后反映到视图。 修改、查询、删除视图的命令跟建表时的一样。视图是从一个或多个表(或视图)导出的表。视图是数据库的用户使用数据库的观点。可以根据他们的不同需求,在物理的数据库上定义他们对数据库所要求的数据结构,这种根据用户观点所定义的数据结构就是视图。视图与表(有时为与视图区别,也称表为原创 2012-06-04 20:51:05 · 3814 阅读 · 3 评论 -
MySQl心得4--4--数据库查询4--子查询
1.子查询在查询条件中,可以使用另一个查询的结果作为条件的一部分,例如,判定列值是否与某个查询的结果集中的值相等,作为查询条件一部分的查询称为子查询。SQL标准允许SELECT多层嵌套使用,用来表示复杂的查询。子查询除了可以用在SELECT语句中,还可以用在INSERT、UPDATE及DELETE语句中。子查询通常与IN、EXIST谓词及比较运算符结合使用。2.IN子查询IN子查询用于原创 2012-06-02 18:39:19 · 3133 阅读 · 1 评论 -
MySQl心得4--3--数据库查询3--from字句
1.from字句SELECT的查询对象由FROM子句指定,其格式为:FROM 表名1 [ , 表名2] …其中,表名:tbl_name [ [AS] 表别名 ] [{USE | ignore | force} index (key_list)] /*查询表*/| join_table /*连接表*/说明原创 2012-06-02 18:37:37 · 1886 阅读 · 1 评论 -
MySQl心得4--2--数据库查询2
MySQL中纯数值的记录在程序中可以不加单引号;如果字符型的记录中只有数字则也可以不加单引号;as 语句后面的记录加不加单引号都一样。1.语法格式:select [all | distinct | distinctrow ] [high_priority] [straight_join] [sql_small_result] [sql_big_result]原创 2012-05-29 18:05:34 · 2691 阅读 · 0 评论 -
MySQL心得4--1--数据库查询1
1. 选择(Selection)作用于行!选择是单目运算,其运算对象是一个表。该运算按给定的条件,从表中选出满足条件的行形成一个新表作为运算结果。选择运算的记号为sF(R)。其中s是选择运算符,下标F是一个条件表达式,R是被操作的表。若要在学生情况表中找出学生表中性别为女的行形成一个新表,则运算式为:sF(学生)F:性别=“女”,该选择运算的结果如下:学 号原创 2012-05-28 17:00:46 · 1904 阅读 · 0 评论 -
MySQL心得3--命令行操作表数据
1. 与界面操作相比,通过SQL语句操作更为灵活,功能更为强大。 为了让客服端能识别汉字:set character_set_client=gb2312;为了让结果不出现乱码:set character_set_results=gb2312;2. 插入记录命令 一旦创建了数据库和表,下一步就是向表里插入数据。通过insert或replace语句可以向表中插入一行或多原创 2012-05-25 18:34:45 · 1626 阅读 · 2 评论 -
MySQL心得2--命令行方式建库和表
1.创建数据库 使用create database或create schema(以后再介绍)命令可以创建数据库。create database 库名create database if not exists 库名(创建库并检验创建的库是否存在,不存在则建,存在就不建了)MySQL不允许两个数据库使用相同的名字,使用ifnot exists从句可以不显示错误信息显示所有数据库:原创 2012-05-25 18:33:28 · 1984 阅读 · 0 评论 -
MySQL心得1--数据库的基本概念
启动:mysql -uroot –p 回车;输入密码;显示数据库:show databases;1. 数据库数据库(DB(databases的缩写))是存放数据的仓库,只不过这些数据存在一定的关联,并按一定的格式存放在计算机上。从广义上讲,数据不仅包含数字,还包括了文本、图像、音频、视频等。数据库由一些持久的相互关联数据的集合组成,并以一定的组织形式存放在计算机的存储介质原创 2012-05-24 21:24:08 · 2905 阅读 · 1 评论