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')
posted @ 2010-10-16 16:18  李只蚊  阅读(391)  评论(0编辑  收藏  举报