对于表的增加,前面已经用过很多次了,这里就一笔带过。
插入一行
多行数据插入
由于 主键 或者 唯一键 对应的值已经存在而导致插入失败。
例子
当我再想插入一个1号进去时就会报错
此时就说明1号位置已经有数据了,那么我现在想将一号位置的数据更改成孙权。
可以使用replace,如果冲突先删除再插入,如果不冲突,直接插入。
创建表结构
插入一些数据
通常情况下不建议使用 * 进行全列查询
-1. 查询的列越多,意味着需要传输的数据量越大;
-2. 可能会影响到索引的使用。
指定列的顺序不需要按定义表的顺序来。
表达式不包含该字段,会直接列出来
表达式包含该字段会自动计算
包含多个字段
当然也可以指定别名
正常查询
去重结果
比较运算符
逻辑运算符
1.语文不及格的成绩
2.数学成绩在【80,90】间
3.语文成绩小于60或者大于80
4.姓名以孙开头的
5.数学成绩好于英语成绩的
6.数学成绩是98,99的
7.总分在200以下(where里不能用别名,因为它是先运行后半部分,再运行前部分)
8.语文成绩大于80且不姓孙
9.NULL的查询
查询英语成绩不为空的
注意:没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序。
1.按数学成绩升序
2.按数学降序,英语,语文升序排序
多字段排序,排序优先级随书写顺序。
3.按总分降序(可以使用别名,因为它是先运行前半部分代码,再运行后半部分)
4.查询姓孙同学的数学成绩,并降序
对未知表进行查询时,最好加一条 LIMIT 1,避免因为表中数据过大,查询全表数据导致数据库卡死 按 id 进行分页,每页 3条记录,分别显示 第 1、2、3 页。
第一行到第三行
第四行到第六行
剩下的不足也不影响