数据库关于记录的增删改查(目前使用的是MySQL客户端 没有使用图形管理工具)
增:INSERT
1),INSERT [INTO] table_name [(col_name,....)] {VALUES|VALUE} ({expr|DEFAULT});
2),也可以使用子查询(只能插入一条)
INSERT [INTO] table_name SET col_name = {expr|DEFAULT};
3), 也可以将查询结果插入到指定的数据表中(后面讲完SELECT在深入的理解这条)
INSERT [INTO] table_name [col_name,....] SELECT col_name FROM table_name [WHERE where_condition]
改:UPDATE
更新记录(单表更新)
UPDATE table_name SET col_name = {expr|DEFAULT}.....[WHERE where_condition];(若不加则全部更新)
删:DELETE
删除记录(单表删除)
DELETE FROM table_name [WHERE where_condition];
删除某一条记录后再添加一条记录 是添加到最后一行后面
eg: 设一共有10条记录 其id 为1-10, 删除id为2的记录 在添加一条记录
该记录不会补充刚删除的那条记录 而是会添加到最后其id为11
查:SELECT(非常重要)
查找记录
1),SELECT 表达式|函数;
2),只查询某几列
SELECT col_name1,col_name2.... FROM table_name;
上面列表名的顺序会影响结果的顺序 * 表示所有的列
3), 另一种形式:
SELECT table_name1.col_name1, table_name1.col_name2.....FROM table_name;
涉及到多表连接,若两张不同的表有相同的字段,这样写可以清楚地表示这是哪张表的字段
4),查询表达式可以使用别名
SELECT col_name AS new_name .... FROM table_name;(会影响结果集)
5),跟在SELECT表达式之后 对结果进行分组 ·过滤·排序·限制数量
1.对结果进行过滤 WHERE
2.查询结果分组 GROUP BY
[GROUP BY {col_name | position} [ASC | DESC] ...]
ASC 表示升序(默认)
DESC 表示 降序
分组条件:HAVING
[HAVING where_condition]
后面的条件(1). 聚合函数(最大|最小|计数|求和|平均值)(2)字段在SELECT前面出现过
3,对查询结果进行排序 :ORDER BY
[ORDER BY {col_name | expr | position} [ASC | DESC]...]
可指定在对某一字段排序时有的值相同的话 则按照另一字段值排序
eg:SELECT * FROM users ORDER BY age,id DESC;
(年龄相同时 则按照id 进行降序排序)
4,限制查询结果返回的数量: LIMIT
[LIMIT {offset, } row_count | row_count OFFSET offset]
(1) SELECT * FROM table_name LIMIT 2;
(表示返回两条记录)
(2) LIMIT 2,2;(记录编号从0开始)
(返回第3,4条记录)
网友评论