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
相关文档:
建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。
外键作用: 使两张表形成关联,外键只能引用外表中的列的值!
指定主键关键字: foreign key(列名)
引用外键关键字: references <外键表名>(外键列名)
事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动 ......
使用MYSQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的备份方法,而且又快有好。
一、数据备份捷径
因为这个方法没有得到官方正式文档的验证,我们暂称为试验吧。
目的:备份hostA主机中一个mysql数据库TestA,并恢复到到h ......
启动:net start mySql;
进入:mysql -u root -p/mysql -h localhost -u root -p databaseName;
列出数据库:show databases;
选择数据库:use databaseName;
列出表格:show tables;
显示表格列的属性:show columns from tableName;
建立数据库:source fileNam ......
这几天手头开发的系统要做一个类似windows账户到期时间的功能,考虑了半天想出了一个技术上和逻辑上都还能实现的解决方案:
创建一个用户存入数据库的时候都创建一个事件调度器来控制用户的到期时间(mysql的时间调度器确实很方便)。想起来是很简单,但是做起来问题确实一波接一波...
一些小问题就不 ......