7-24 数据库基本操作
1.删除操作
DELETE FROM users WHERE id = 6;
#删除数据表users中id=6的行
#注意,如果id为主键自增,那么插入数据时是将id取值为最大的id值+1,而非补充中间被删除的id=6
2.查看表结构
SELECT * FROM users;
#查看所有的行
3.查看所有列
SHOW COLUMNS FROM users;
#查看数据表users中的所有列
4.查看指定列
SELECT username ,id FROM users;
SELECT user.id,user.username FROM users;
#查看数据表users中的列username和id
#第二种方法适用于多表连接的情况
5.赋予别名
SELECT id AS userId,username AS uname FROM users;
#查看对象的同时为其赋予别名
6.WHERE条件
WHRER 语句可以在很多增删查改的地方做操作
7.GROUP BY 语句
询分组结果
SELECT sex FROM users GROUP BY sex;
#根据sex的值进行分组显示,结果只显示sex这一列所具有的不同值,即0,1,NULL
利用HAVING 添加分组条件
SELECT sex FROM users GROUP BY 1 HAVING count(id) >2;
#结果显示为sex的情况,条件是count(id) >2
8.ORDER BY 对查询结果进行排序
SELECT * FROM users ORDER BY id DESC;
#显示结果,按照id降序排列
9.限制查询结果返回的数量
SELECT * FROM users ORDER BY id DESC LIMIT 2,2;
#显示数据表users 中的列,按照id降序排列,并且只显示id=3及其后共计2行数据,即id=3,4的数据值
10.数据表之间的选择性赋值
INSERT test(username) SELECT username FROM users WHERE age >=30;
#向数据表test中插入users表中的部分行,需要users行需要满足的是,age>=30;
11.子查询(Subquery)
子查询是指出现在其他SQL语句内的SELECT子句
SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2);
#子查询必须在圆括号内
SELECT ROUND(AVG(goods_price),2) FROM tbd_goods;
#AVG()函数用于显示平均值,这是一个聚合函数
#ROUND()用来保存有效位数
SELECT goods_id, goods_name, goods_price FROM tdb_goods WHERE goods_price >= (SELECT ROUND (AVG(goods_price),2) FROM tdb_goods);
#利用子查询,找到平均价格以上的商品信息
12.新旧表数据插入
SELECT good_cate FROM tdb_goods GROUP BY goods_cate;
#显示数据表tdb_goods 中good_cate列中所有的group,类似于sex列的group,只显示1,0,null.
INSERT tdb_goods_cates(cate_name) SELECT goods_cate FROM tdb_goods GROUP BY goods_cate;
#在新表tdb_goods_cates插入数据,引用的是旧表tdb_goods,参照的是goods_cate
13.多表更新