mysql使用常见错误
这些都是我在“重新”学习mysql数据库时遇到的问题,不知各位有没有遇到过,以后会不定时更新
1.大小写的问题
create table book(
ISBN varchar(10) not null,
name varchar(30) not null,
price DOUBLE not null,
author varchar(30) not null,
publisherID varchar(30) not null,
primary key (ISBN)
)
上面的sql语句看起来没有问题,但是执行起来是错误的,为什么呢?因为not null没有大写
这样写才正确
create table book(
ISBN varchar(10) NOT NULL,
name varchar(30) NOT NULL,
price DOUBLE NOT NULL,
author varchar(30) NOT NULL,
publisherID varchar(30) NOT NULL,
primary key (ISBN)
)
2.mysql中没有top n....但可以用limit
我们知道,在ms sql server中或access中,
若要查询前10条记录,使用top 10即可,
但在mysql中不支持这个写法,它用limit 10。
我们可以利用MySQL中SELECT支持的一个子句——LIMIT——来完成这项功能。
LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询,具体语法如下:
SELECT * FROM MYTABLE
ORDER BY AFIELD
LIMIT offset, recnum
其中offset为从第几条(M+1)记录开始,recnum为返回的记录条数。例:
select * from mytable
order by afield
limit 2, 5
即意为从第3条记录开始的5条记录。
3.mysql关键字的转义,因为password是mysql的关键字,如果要作为字段的话,必须加上"顿号",例如:
insert into users(name,`password`,adds,sex,email,age,times) values('李','123','123','男','123','123','2010-10-10')