mysql严格毛hi关闭,mysql容易被忽略的用法

mysql容易被忽略的用法

1.在创建表的同时创建索引

CREATE TABLE material(id INT NOT NULL, name char(40) NOT NULL, resistance INT, INDEX index1(id,name), UNIQUE INDEX index2(name))

第一个索引,名为index1,由id和name两个字段组成。第二个索引只包含name,并指明name字段的值必须是唯一的。

2.插入数据,可以通过其他某个表中的数据填充新表以插入新数据

INSERT INTO foods(name,fat) SELECT food_name, fat_grams from recipes

3 。SELECT * from people ORDER BY name LIMIT 19,30 表示从第20条记录开始取出30条记录

4.mysql提供了基于扩展正则表达式的模糊匹配

SELECT TITLE from BOOK WHERE TITLES REGEXP 'Java'; 匹配titles中包含Java。 REGEXP '^java' 匹配以'java'开头的titles, REGEXP ’java$’匹配以java结尾的titles, 与REGEXP相对的是NOT REGEXP。

5.mysql事务处理

要在事务表上执行事务处理,首先要用set AUTOCOMMIT=0关闭自动提交功能,然后执行要在这个事务中执行的sql语句,最后用commit命令完成事务处理,要回滚使用rollback命令。如果在事务中遇到下面几个命令也会自动结束当前事务:

ALTER TABLE

BEGIN

CREATE INDEX

DROP DATABASE

DROP TABLE

LOCK TABLES

RENAME TABLE

TRUNCATE

UNLOCK TABLES

相关文档:

ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]

alter_specification:

ADD [COLUMN] create_definition [FIRST | AFTER column_name ]

or ADD INDEX [index_name] (index_col_name,...)

or ADD PRIMARY KEY (index_col_name,...)

or ADD UNIQUE [index_name] (index_col_name,...)

or ALTER [ ......

在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束。

外键的使用条件:

1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);

2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立;

3.外键关� ......

今天从MYSQL数据库抓取时,发生了Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP异常

google了一下,大概意思是MySQL中的Datetime值无法再JAVA中可靠的被表示,按照JDBC和SQL的标准默认情况下产生异常。

JDBC允许用下列的值对zeroDateTimeBehavior 属性来设置这些处理方式,

exception (the d ......

查询一天:

select * from table where to_days(column_time) = to_days(now());

select * from table where date(column_time) = curdate();

查询一周:

select * from table   where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);

查询一个月:

select * from table where DATE_SUB(CUR ......

日期函数:

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

http://hi.baidu.com/yase_guoguo/blog/item/171c2d4feea83c01b2de0527.html

SQL 时间比较

select * from useroperation where '2009-10-26 00:00:00' < date;  //date的类型是datetime

select * from useroperation where D ......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值