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