1、从表login中选出name字段包含admin的前10条结果所有信息的sql语句。
//前10条,注意要排序
select * from login where name like '%admin%' limit 10 order by id;
2、解释左连接,右连接,内连接,索引。
左连接:left join,以左表为主导
右连接:right join,以右表为主导
内连接:inner join,一般普通多表查询就可实现,内连接用得少
索引:index,索引就像字典的目录,一个表只能有一个主键索引
3、简述论坛中无限分类的实现原理。
首先设计无限分类表,该表有四个字段id,name,pid,path,
4、sql优化
一 尽量避免全局扫描,几乎没有将一个表中所有数据都使用的请求,对where order by使用的字段添加索引
二 应尽量避免在where字句中使用!= <>操作符,否则存储引擎会放弃使用索引而进行全局搜索
三 避免在where条件中使用or,这也会使存储引擎进行全局搜索
四 使用模糊搜索的时候,like '%string%',不会使用索引。like 'string%'会使用索引
五 慎用 in,可能也会导致全表检索。如果是连续的条件可以考虑使用between
六 能用char的尽量不用varchar,因为char是固定长度的,所以检索速度快。但是相对来说占空大,所以应该对固定长度的字段用char,如身份证号
5、MySQL取得当前时间的函数是?格式化日期的函数是?
now(),date()
6、数据类型(int,char,varchar,datetime,text)的意思,请问varchar和char有什么区别?
int是数字类型,char是固定长度字符串,varchar是实际长度字符串,datatime是日期时间类型,text是文本字符串
7、MyISAM和InnoDB的基本区别?
(1)在增删改查方面,myisam要优于innodb表引擎,当数据量特别大时,他们的速度相差不大;
(2)innodb支持事务、存储过程、行锁。
8、
增加一个字段性别sex:alter table user add sex tinyint unsigned not null default "男";
注:int 和 tinyint 的区别;unsigned无符号
9、什么是数据库索引,主键索引、唯一索引的区别,索引的缺点是什么?
(1)相当于字典的目录,提高检索速度。
(2)主键索引是给每张表的主键设置索引,唯一索引是给每张表的唯一值字段设置索引。
主键索引包含唯一索引,主键索引比唯一索引快,一个表只能有一个主键索引,一个表可以有多个唯一索引。
(3)索引的缺点是建立索引需要增加存储空间,空间利用率低。
10、写出发帖数最多的十个人的名字的SQL,利用下表:members(id,username,posts,pass,email)
select username,count(id) from members group by id order by count(id) desc limit 10;
11、mysql_fetch_row()和mysql_fetch_array()之间有什么区别?
mysql_fetch_row是从结果集取出一行数据,作为枚举
mysql_fetch_array是从结果集取出一行数组作为关联数组或数字数组
12、