本次全部都是mysql的题,非常的基础,enjoy it~
1、SELECT id,name FROM test1; 和 SELECT id name FROM test1;这两个语句有什么区别?
第一个语句会出现两个列,第二个只有一个列,列的内容是id的内容,但是列的名称是name,也就是说第二句话其实就是"SELECT id AS name FROM test1"。
2、如果想把test1表格里满足age大于等于30的username都迁移到test2表格里的username列,需要什么命令?
INSERT test2(username) SELECT username FROM test1 WHERE age >=30;
【评析】这种方法注意,新表/旧表有更新的时候,旧表/新表不随之更新。因为没有链接,仅仅是一个一次性的复制而已。
3、列举出A表里满足价格(price)大于A表里所有货品平均价格的id,name,age。
SELECT id,name,age FROM A WHERE > (SELECT AVG(price) FROM A)
【评析】 其实可以先求出来AVG(price),然后直接大于那么值就好,但是要注意SELECT ,SELECT的结果才是一个数。
如果需要把平均值四舍五入,并且保留小数点后两位,那就ROUND(AVG(price),2)
4、test1表里有一个叫"country"的列,现在需要做一个test2,专门放这些"country",并且实现这两个表的多表连接。
1)CREATE一个TABLE叫test2,里面有一列叫id,另一列叫country。
2)INSERT test2(country) SELECT country FROM test1 GROUP BY country;
3)UPDATE test1 AS OLD INNER JOIN test2 AS NEW ON test1.country = test2.country
->SET old.country = new.id
【评析】“增删改查”,mysql难就难在这个“查”上。
5、Mysql自增长的关键字
AUTO_INCREMENT
6、mysql备份实例,自动备份mysql,并删除30天前的备份文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#!/bin/bash #Description:Auto backup mysql MYSQLDB=Test1 MYSQLUSR=Username MYSQLPASSWORD=PASSWORD #定义账号、密码和需要备份的数据库名
BACKUPDIR=backupDIR= /data/backup/mysql/ $( date +%Y-%m-%d)
if [ $UID - ne 0 ]; then #UID是USERID的意思,0是ROOT的ID号
echo This script must use administrator or root user ,please exit !
#提示当前账户不是ROOT,需要切换成ROOT用户 sleep 2
exit 0
fi if [ ! -d $BAKDIR ]; then mkdir -p $BAKDIR
else echo This is $BAKDIR exists ,please exit ….
sleep 2
exit fi |
/usr/bin/mysqldump -u$MYSQLUSR -p$MYSQLPW -d $MYSQLDB >/data/backup/mysql/`date +%Y-%m-%d`/www_db.sql
cd $BAKDIR ; tar -czf www_mysql_db.tar.gz *.sql
cd $BAKDIR ;find . -name “*.sql” |xargs rm -rf[ $? -eq 0 ]&&echo “This `date +%Y-%m-%d` RESIN BACKUP is SUCCESS”
cd /data/backup/mysql/ ;find . -mtime +30 |xargs rm -rf
7、讲述一下cookie和session的区别。
cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。
cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE。
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
【评析】cookie如果没有设置生存时间,那么关闭浏览器的瞬间,cookie就会消失,下一次登陆依旧要输入账号密码,cookie默认是存储在硬盘里而不是内存里,如果是设置了生存时间,那么就会保存在内存里,下一次继续使用。
session有一个session id,要是服务器能查询的到id,就会按这个id号的内容体现数据,如果查询不到就会新建一个id,session id是可以用cookie的形式保存的。
8、讲述一下服务器缓存的原理。
9、如何查看系统资源占用状态。
top uptime vmstat free 很多命令都可以
10、如果一个网站平时业务不是很多,但是有时候业务会急剧增长,例如淘宝之类电商网站,遇到特价的时候,流量会特别大,遇到这种情况,在尽量低的成本下,应该如何做。
rsync命令去同步数据,然后dns轮询。
【评析】sync的远距离版本就是rsync,r在这里是remote的缩写。
它可以当cp这个功能用,rsync -a /A /B 将B的内容拷贝到A文件夹下。或者rsync main.c machineB:/home/userB,把main.c拷贝到B机器的userB里,他拷贝速度很快,因为他发现有不同的内容就会拷贝,相同的就跳过。
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1745859