MYSQL总结

FROM_UNIXTIME(create_time,'%Y-%m-%d %H:%i:%S')
	FROM_UNIXTIME(timestamp);// 2017-09-18 11:26:06
	UNIX_TIMESTAMP('2017-09-18 11:26:06');// 1508489408.000000
	UNIX_TIMESTAMP(CURRENT_TIMESTAMP());当前时间戳
	select now();显示当前日期时间
	select curdate();//2017-09-29
	运行存储过程报错:The user specified as a definer ('root'@'%') does not exist
	解决:grant all privileges on *.* to root@"%" identified by ".";

	复制表结构和数据
		CREATE table card_change_record_2 select * from  card_change_record;
	仅复制表结构
		CREATE TABLE card_change_record_2 LIKE card_change_record
	复制旧表的数据到新表(假设两个表结构一样) 
		insert into card_change_record_2 select * from card_change_record where id BETWEEN 100 and 200;
	复制旧表的数据到新表(可选择要复制的字段)
		INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表

	查找最大主键
		select max(id) from card_change_record_copy;
	optimize table table_name

	当数据表没有primary key的时候,insert成功将返回0   需要用 !== false 判断

	表锁:
		锁住当前会话想要锁住的表
		$mysql->query('LOCK TABLES wc_users WRITE');
		LOCK 和 UNLOCK 过程中,如果还有其他表的操作,则会一并被锁上,所以 UNLOCK 应该尽量提前,然后再通过其他方式来确保数据的一致性和完整性,而不应该把过多的表操作放在该过程中。
	解锁:
		$mysql->query('UNLOCK TABLES');
		由 TABLES 可见,LOCK 过程可能会锁住多个表,UNLOCK 会解锁掉当前会话的全部表锁,对其他会话的锁表操作没有影响

	使用锁表后,在关闭之前,只有被锁的表可以操作,其他表无法操作,也不能连表查询
上一篇:多线程队列模型


下一篇:hibernate(八) Hibernate检索策略(类级别,关联级别,批量检索)详解