【MySql】杂记

来源:互联网 发布:天猫就是淘宝吗 编辑:程序博客网 时间:2024/05/19 21:03

1.mysqldump常用于MySQL数据库逻辑备份。
二进制日志文件 中提供了执行mysqldump之后对数据库的更改进行复制所需要的信息。


2.要显示存储过程传出的值,需要使用show关键字


3.MySQL数据类型-decimal
对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,numeric和decimal同义,numeric将自动转成decimal。

DECIMAL从MySQL 5.1引入,列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下:

·M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认值是10。

·D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。

说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。


4.

1.SELECT Left('dufe', 2)结果为:du2.mysql> desc test; /*desc tablename*/+----------+---------------+------+-----+---------+-------+| Field    | Type          | Null | Key | Default | Extra |+----------+---------------+------+-----+---------+-------+| t_id     | int(11)       | YES  |     | NULL    |       || monney   | decimal(12,3) | YES  |     | NULL    |       || monney_2 | decimal(10,0) | YES  |     | NULL    |       |+----------+---------------+------+-----+---------+-------+3.对于声明为INT(5) ZEROFILL的列,值4检索为00004,5代表显示宽度.INT(M) ZEROFILL,加上ZEROFILL后M才表现出不同4.alter table test2 add check(id>0);

5.全文本搜索会对结果进行排序
MySQL支持几种基本的数据库引擎,但并非所有的引擎都支持全文本搜索。两个最常使用的引擎为MyISAM和InnoDB,前者支持全文本搜索,后者就不支持。


6.用户的身份由用户用于连接的主机名和使用的用户名来决定。


7 . MySQL 触发器

CREATE TRIGGER <触发器名称>  --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.{ BEFORE | AFTER }  --触发器有执行的时间设置:可以设置为事件发生前或后。{ INSERT | UPDATE | DELETE }  --同样也能设定触发的事件:它们可以在执行insertupdatedelete的过程中触发。ON <表名称>  --触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器。

FOR EACH ROW –触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。
<触发器SQL语句> –触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句, 包括复合语句,但是这里的语句受的限制和函数的一样。


8.以下可以提供MySQL程序的选项
在环境变量中设置
在命令行中的程序名后面提供
在程序启动时读取选项文件中的设置


9.
执行语句SELECT (1=1) AND (9>10) 结果为:0
执行语句select true and false 结果为:0


10.MySQL 三种关联查询的方式: ON vs USING vs 传统风格

SELECT * FROM film JOIN film_actor ON (film.film_id = film_actor.film_id)SELECT * FROM film JOIN film_actor USING (film_id)SELECT * FROM film, film_actor WHERE film.film_id = film_actor.film_id