添加记录
语句:INSERT [INTO(可省略)] 表名 [(可省略)列名1,列名2,..] {VALUES | VALUE} (列1的值,列2的值,列3...)
如果不写列名则默认为所有列添加记录
如果有自动编号约束的列,可以填空值:null ,也可以使用DEFAULT
也可以使用表达式,至于表达式内容,可以自由发挥,可以调用其他表的值
添加多条记录,用逗号隔开就行,例子如下:
调用md5算法:
第二种方法:
第三种方法:
该方法为将查询结果插入指定表中,其实就是复制其他表的记录到指定表
更新记录
批量修改记录
当写入记录时,有部分字段出错,或者想修改某字段记录,可以使用表更新语句
UPDATE LOW_PRIORITY(翻译:低优先级) IGNORE(翻译:忽略) 参考表 SET 列名1=值或表达式 ,列名2=..,WHERE 条件值;
下面例子为更新users表中的age列所有的字段值,注意,没加条件,所以所有age列的字段都被修改了
其实可以将该命令理解为用于修改多个字段的值.
UPDATE users SET age=age+5;
使用条件语句,编号为偶数的记录所有age字段+10;
删除记录(单表删除)
也就是批量删除记录
如果不写条件,则删除表内所有记录
删除id为6的记录例子:
查找记录
SELECT [表达式1],[表达式2],...
[WHERE 条件表达式]
[GROUP BY {列名 | 列位置} [ASC(从小到大排序) | DESC(与ASC相反) ],]
[HAVING(与where效果相同,原理不同) 条件表达式]
[ORDER BY(排序){列名 | 表达式 |position(翻译:列位置)}[ASC | DESC ]]
[LIMIT(翻译:极限) {[偏移值,] row_count | row_count OFFSET(偏移) 偏移值}]
可以简化为这样:
SELECT 表达式;
查询例子:
该例子也说明语句执行顺序是以列的填写顺序为准
如果要同时查两个表的同名列,可以用表调用列的方式书写,比如下面例子:
与Java对象调用方法一模一样的写法
其实还可以给查询结果起别名,例子如下:
但并不会影响原本的列名:
使用别名时,不一定要用AS关键词,但是不用AS关键词容易出现以下情况:
usersname作为id的别名,这里查询的实际是id列的值.
容易导致查询列a时,列名却是b,也就是,容易混淆.
分组查询
SELECT 查询列 FROM 表名 GROUP BY 指定列
其实也就是将每种结果都列出一个,具体看例子:
比如查询性别
分组条件
还可以设置分组条件,用HAVING语句,但条件值必须为查询的列之一或聚合函数(某些计算公式,比如最大值最小值)
例子如下:
SELECT 列名 FROM 表名 GROUP BY 列名 HAVING 列名 | 表达式 运算符 值;
图中命令意译为:查询users表中的sex,age列,并只显示age>35的值
查询结果排序
对查询结果进行排序,使用order by语句
ORDER BY 列名 | 表达式 | 位置 ASC | DESC ; /ASC为升序 DESC 为降序
以ID降序为例子如下:
类似于功能组合,可以用于分组查询中
如果有相同数值的记录出现,可以指定按照两个列来排序,同时检查两个字段的值是否符合规则
如下:
限制查询结果的返回数量
如果只填一个数字,则默认从1开始返回例子如下
返回2条记录,例子:
但如果填写了两个数字则要从0开始数
返回第4-5条记录
例子如下:
其实当填写一个数值的时候相当于填 LIMIT 0,x
格式: LIMIT 索引起始位置,显示数量;
配合升降排序
例子如下:
之前写的第三种插入记录方法
INSERT 被添加记录的表 (要添加记录的列) SELECT 查询的列 FROM 来自哪个表 条件 条件值(公式) ;
要注意的是查询的字段与被插入记录的表的字段要相同
例子如下:
创建一个只有2个字段的表,注意这里id设为自动编号了,就算设置为自动编号,添加查询结果时也要指定添加到哪列,否则会默认为给所有列添加记录
现在从users表中将字段添加进test2表
本章节到此结束,下面为另一个听讲师讲课的笔记.
本章讲的是对于表的查询,也就是查询数据_表内的列
最简单的查询列
要查询多个列,用逗号将列名隔开就行.
先写查询哪列,再填哪个表
之前也讲过数据库的结构:列在表下面,表在库下面
类似于报家里地址时,先说门牌号,再说哪个地区
去重查询
去掉重复的查询结果
具体例子:现在有5样商品,有2件属于同一品牌,另外三件也属于同一品牌
现在要查有多少个牌子,如果不去重,那会将所有商品都打印出来
数学运算查询
SELECT该命令有计算器的作用...可以将查询结果进行数学运算
具体使用方法为 SELECT 列名1,列名2,列名1*列名2 FROM 表名
例子:
顺便讲一个别名的知识点
加AS可以改变显示列的名称,这叫起别名
起别名的规则