mysql
琴剑山庄
这个作者很懒,什么都没留下…
展开
-
MYSQL学习心得(2) --使用MySQL的LAST_INSERT_ID
LAST_INSERT_ID自动返回最后一个 INSERT 或 UPDATE 操作为 AUTO_INCREMENT 列设置的第一个发生的值. 参考这里 The ID that was generated is maintained in the server on a per-connection basis.LAST_INSERT_ID是基于单个connection的, 不可能被其它原创 2016-11-29 15:19:26 · 384 阅读 · 0 评论 -
MYSQL学习心得(6) -- SQL子查询的一些例子
1、单行子查询 select ename,deptno,sal from emp where deptno=(select deptno from dept where loc='NEW YORK'); 2、多行子查询 SELECT ename,job,sal FROM EMP原创 2016-12-07 10:33:22 · 350 阅读 · 0 评论 -
MYSQL学习心得(10) -- 索引
索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型。根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。大多数存储引擎有更高的限制。MYSQL中索引的存储类型有两种:BTREE和HASH,具体和表的存储引擎相关;MYISAM和InnoDB存储引擎只支持BTREE索引;原创 2016-12-12 11:22:09 · 564 阅读 · 0 评论 -
MYSQL学习心得(9) -- 自定义存储过程和函数
MYSQL中创建存储过程和函数分别使用CREATE PROCEDURE和CREATE FUNCTION使用CALL语句来调用存储过程,存储过程也可以调用其他存储过程函数可以从语句外调用,能返回标量值创建存储过程语法CREATE PROCEDURE sp_name ([ proc_parameter ]) [ characteristics..] routine_body原创 2016-12-12 10:48:57 · 2047 阅读 · 0 评论 -
MYSQL学习心得(8) -- 触发器
触发器是一个特殊的存储过程,不同的是存储过程要用CALL来调用,而触发器不需要使用CALL也不需要手工启动,只要当一个预定义的事件发生的时候,就会被MYSQL自动调用。创建触发器语法如下:CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_st原创 2016-12-12 10:38:31 · 1520 阅读 · 0 评论 -
MYSQL学习心得(5) --时间戳转换
1 NOW() //当前时间2 SYSDATE() //当前时间3 CURRENT_TIMESTAMP 4 以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用。 5 mysql> select NOW(); 6 -> '1997-12-15 23:50:26' 7 mysql> selec原创 2016-11-30 22:34:42 · 307 阅读 · 0 评论 -
MYSQL学习心得(4) --SQL语句执行顺序
1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from--where--group by--having--order by 其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序 与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行 from--where--group by--having--select--or原创 2016-11-30 10:45:48 · 2275 阅读 · 1 评论 -
MYSQL学习心得(1)--基础SQL语句
1、默认约束CREATE TABLE emp(id INT DEFAULT 12)2、设置自增列-- 设置自增ID从N开始CREATE TABLE empautoinc(ID INT PRIMARY KEY AUTO_INCREMENT) AUTO_INCREMENT = 100 ; --(设置自增ID从100开始)MYSQL获取当前表的自增值SE原创 2016-11-28 18:03:40 · 465 阅读 · 0 评论 -
MYSQL学习心得(3) --浮点数与定点数
MySQL浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的可显示为-999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001。FLOAT和DOUBLE在不指定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。原创 2016-11-29 23:14:27 · 2962 阅读 · 0 评论 -
MYSQL学习心得(7) -- 视图
使用视图的理由是什么?1、安全性:一般是这样做的:创建一个视图,定义好该视图所操作的数据。之后将用户权限与视图绑定,这样的方式是使用到了一个特性:grant语句可以针对视图进行授予权限。2、查询性能提高3、有灵活性的功能需求后,需要改动表的结构而导致工作量比较大,那么可以使用虚拟表的形式达到少修改的效果。这是在实际开发中比较有用的4、复杂的查询需求,可以进行问题分解,然后将原创 2016-12-07 10:47:48 · 498 阅读 · 0 评论