子查询:
where型子查询 把内层的查询结果作为外层查询的比较条件。
from型子查询 把内层的查询结果作为临时表,供外层sql再次查询。
exists型子查询 把外层的查询结果,拿到内层,看内层的查询是否成立。
-------------------------------
from型子查询:
把内层的查询..
分类:
其他好文 时间:
2015-05-20 18:44:09
阅读次数:
99
子查询:
where型子查询 把内层的查询结果作为外层查询的比较条件。
from型子查询 把内层的查询结果作为临时表,供外层sql再次查询。
exists型子查询 把外层的查询结果,拿到内层,看内层的查询是否成立。
-------------------------------
exists子查询
把外层的查询结..
分类:
其他好文 时间:
2015-05-20 18:45:49
阅读次数:
165
union
作用:把2次或多次查询结果合并起来(可以是一张表,也可以是两张或多张表)
要求两次查询的列数一致。
推荐查询的每一列,相对应的列类型也一样。
来自于多张表,
多次sql语句取出的列名可以不一致,此时以第一个sql的列名为准。
1,unionall
2,有orderby时,要把or..
分类:
其他好文 时间:
2015-05-20 18:44:49
阅读次数:
122
A表M个数据
B表N个数据
A表和B表连接后,就有M*N个数据。如:
select*fromta,tb;
1.连接
2.连接条件
------------------
1.左连接left:
select列1,列2,列Nfrom
tableAleftjointableB
ontableA.列=tableB.列
where,groupby,having。。。照常写
2.右连接right:
select..
分类:
其他好文 时间:
2015-05-20 18:43:38
阅读次数:
129
练习1.三表查询createtablethreeTA(idint,namechar(5));insertintothreeTAvalues(1,"面包"),(2,"跑步机"),(3,"键盘");createtablethreeTB(namechar(5),priceint);insertintothreeTBvalues("面包",5),("跑步机",3000),("键盘",100);createtablethreeTC(priceint,sortchar(5));in..
分类:
其他好文 时间:
2015-05-20 18:45:06
阅读次数:
121
表的管理之列的增删改1.增altertable表名add列声明; 默认这个新增的列在表的最后一列。 如果不想要新增的列在表的最后一列,那么可以:altertable表名add列声明after列名;altertable表名add列声明first;2.删altertable表名drop列名;3.改altertable表名change被改变的列名列声明..
分类:
其他好文 时间:
2015-05-20 18:45:13
阅读次数:
143
视图view定义:是由查询结果形成的一张虚拟表。为什么要用视图?1.简化查询2.可以进行权限控制:视图只开放表中部分数据3.大数据分表时可以用到改变表的内容会影响到view中的内容,但是view中的内容改变,有可能是不允许修改的,如果能修改就会影响到表中的内容。1.创建viewcre..
分类:
其他好文 时间:
2015-05-20 18:43:55
阅读次数:
100
字符集与校对集
createtable表名(
列声明
)charsetutf8;
上面这个charsetutf8指定服务器字符类型。
-----------------------------------------------
字符集:
mysql的字符集设置非常灵活。
可以设置服务器默认字符集,
可以设置数据库默认字符集,
表默认字符集,
列字符集..
分类:
其他好文 时间:
2015-05-20 18:42:17
阅读次数:
153
触发器trigger监视某表的变化,当发生某种变化时,触发某个操作。触发器:1.能监视增删改2.监视到变化后,触发操作增删改---------------------------四要素:1.监视地点 table2.监视事件 insert/delete/update3.触发时间 after/before4.触发事件 insert/delete/update创建之前..
分类:
其他好文 时间:
2015-05-20 18:44:02
阅读次数:
111
如何在触发器引用行的值?1.对于insert而言,新增的行用new来表示行中每一列的值,用new.列名来表示2.对于delete来说,原本有一行,后来被删除想引用被删除的这一行用old来表示,old.列名就可以引用被删行中的值3.对于update来说,被修改的行修改前的数据,用old来表示,old.列..
分类:
其他好文 时间:
2015-05-20 18:43:06
阅读次数:
117
触发器里after和before的区别
after是先完成监视事件的增删改,再完成触发事件的增删改
触发的语句晚于监视的增删改,无法影响前面的增删改动作。
before是先完成触发事件的增删改,再完成监视事件的增删改
触发的语句先监视的增删改,我们有机会判断,修改即将发生的操作。
..
分类:
其他好文 时间:
2015-05-20 18:44:02
阅读次数:
131
数据库对同样的数据,有着不同的存储方式和管理方式,
在mysql中,称为存储引擎。
对于用户来说,同一张表的数据,无论用什么引擎来存储,用户的数据是一样的,
但是对于服务器来说,有区别。
常用的表的引擎:
myisam 批量插入速度快,不支持事务,锁表
innodb 批量插入相对..
分类:
其他好文 时间:
2015-05-20 18:41:59
阅读次数:
89
1.建表时,引擎选用innodb ##表的默认引擎就是innodb,不写engine=innodb时,也支持事务。
2.开启事务引擎starttransaction
3.写要用的sql语句
4.提交commit或者回滚rollback
注意:commit/rollback后,开启的事务就结束了。
注意:有一些语句会造成事务的隐式的提交,比如st..
分类:
其他好文 时间:
2015-05-20 18:42:41
阅读次数:
121
索引
索引:是针对数据所建立的目录
作用:可以加快查询速度
弊端:降代了增删改的速度
案例:设有新闻表15列,10列上有索引,共500W行数据,如何快速导入?
1.把表的索引全部删除
2.导入数据
3.数据导入完毕后,集中建立索引
索引的创建原则:
1.不要过度索引
2.在where条..
分类:
其他好文 时间:
2015-05-20 18:43:20
阅读次数:
151
关于全文索引的用法macth(全文索引名)against("要查找的单词");关于全文索引的停止词全文索引不针对非常频繁的词做索引,如this,you,my等全文索引:在mysql的默认情况下,对于中文意义不大因为英文有空格,标点符号来拆成单词,进而对单词进行索引,而对于中文,没有空格来隔开..
分类:
其他好文 时间:
2015-05-20 18:40:30
阅读次数:
87
存储过程:procedure
概念类似于函数,就是把一段代码封装起来,
当要执行这一段代码的时候,可以通过调用该存储过程来实现,
在封装的语句体里面,可以用if/else,case,while等控制结构,
可以进行sql编程
查看现有的存储过程
showprocedurestatus
删除存储过程
dropprocedur..
分类:
其他好文 时间:
2015-05-20 18:41:47
阅读次数:
109
将公钥拷贝到192.168.90.164[robin@90-96~]$ssh-copy-idrobin@192.168.90.164Theauthenticityofhost‘192.168.90.164(192.168.90.164)‘can‘tbeestablished.RSAkeyfingerprintis89:3c:a6:5c:a3:ee:e4:39:89:23:12:87:66:63:13:21.Areyousureyouwanttocontinueconnecting(yes/no)?..
分类:
其他好文 时间:
2015-05-20 18:40:47
阅读次数:
98