学习使用mysql需要注意的几个sql语句,希望对初学者有所帮助:
1.从一个表向另一个同样结构的表插入批量的数据
insert into table1 (select * from table2)
2.使用sql语句插入大量语句可以如下方式进行插入,一次提交即可。
insert into table1 values
(1,'a'),
(2,'b'),
(3,'a'),
(4,'b'),
...............
3.mysql取得下一个自动增长的id,取得这个数据是连接独立的,也就是mysql会自动维护每一个链接应该拿到的最大id。也就是说,有两个链接同时插入进去这个表各一条记录,则mysql会自动返回相同的最后id。
SELECT LAST_INSERT_ID() from create user id limit 0,1
4.返回第一个非空的字符串,如果字段columnname字段中的数据为null,则会返回aaa值.
COALESCE(columnname,'aaa')
此方法相当与sqlserver中的isnull(columnname,'default')返回第一个非空的字符串。
5.修复表,如果mysql的表出现灰,不能被读取,并且表的linux用户组也都正确的情况下,使用如下命令修复表:
repair table tablename;
6.如果字段中的时间为long类型的毫秒数,使用select FROM _UNIXTIME(875996580)将之转换为日期类型,需要注意:
长度超过一定位数后,需要截取前面的几位才可以,否则不能正确转换。
7.日期函数adddate参数说明
函数是对日期进行计算的第一个参数是字段,第二个参数是间隔的意思,为关键字。
第三个参数是要累加多少的,后面的参数是累加的单位
select adddate(regdate,interval0day) from tablename desc limit 0,100
8.关于子select语句,一定要注意子语句的对记录范围的选取。
例如:select * from table1 where id in(select id from table2)
如果要添加条件,一定要在子句中加入where。