1、增加——insert into
(1)语法:insert into table_name[(column[,column…])] values(valu [,value…]);
(2)案例:
(3)使用添加语句需要注意的细节
1)插入的数据应与字段的数据类型相同,比如:将‘abc’插入到id列就不行。
2)数据的大小应在规定的范围内,例如:不能将一个长度为60的字符串插入到长度为40的列中。
3)在values中列出的数据位置必须与被加入的列的位置相对应。
4)字符和日期类型应该包含在单引号中。
5)插入空值可以不指定或指定为null。
6)批量插入,格式为:insert into table_name values(),(),()…;
7)隐含列插入,给表中的所有字段添加数据,可以不写前面的字段名称。
8)指定列插入,只给表的某几个字段赋值,则需要指定字段名。
2、增加进阶
在数据插入的时候,假设主键对应的值已经存在,插入失败。
当主键存在冲突的时候,可以选择性的进行处理:
(1)更新操作
格式为:insert into table_name(字段1,字段2) values(值1,值2) on duplicate key update 字段1=值1,字段2=值2;
(2)替换——replace into
格式为:replace into table_name values();
3、更新——update
(1)语法:update table_name set column_name=expr1,[,col_name2=expr2…][where condition][limit n];
(2)案例:
1)将所有物品的价钱修改为80
2)将id为1的物品价钱修改为100
3)将id为2的物品的价钱增加20。
4)goods表中两种物品的价钱为100,将前一种物品的名称改为羊排。
(3)update使用细节
1)update语法可以用新值更新原有表中的各列值;
2)set子句指示要修改哪些列和要给予哪些值;
3)where子句指定应更新哪些行,如果没有where子句,则更新所有行。
4)where子句后面指定limit,更新限制数量的符合条件的行。
4、删除——delete from
(1)语法:delete from table_name [where condition]
(2)案例:
1)删除表中id为1的数据
2)复制表数据
A、复制表结构。
B、把goods表的数据复制到goods2表中。
3)删除表中的所有记录,但是表的结构还存在。
4)使用truncate清空表中数据,但是表的结构还存在。
(3)delete和truncate两种删除表记录的比较
1)效果一样,但是truncate的速度块;
2)delete删除表记录成功返回被删除的记录数,而truncate返回0;
3)清空表数据建议用truncate;
4)delete使用细节
A、配合where子句,可以灵活的删除满足条件的记录;
B、delete语句不能删除某一列的值,可以用update置null;
C、使用delete语句仅删除记录,不删除表本身,如果想删除表本身可使用drop table table_name。
5、查询——select
(1)基本语法:select [distinct] *|{column1,column2,…} from table_name;
(2)简单查询:
1)创建一张学生表。
2)插入数据。
3)指定查询哪些列,比如:id、姓名、语文成绩。
4)’ * '号表示所有列,查询时使用‘*’号效率较低,原则上用哪些字段就取哪些字段。
5)distinct,表示在查询中去除重复行
6)在查询中可以使用表达式对查询的列进行运算,并使用as起别名。
格式为:select column as 别名 from table_name;
7)将姓林的学生的总成绩增加60%
(3)select的where字句
在select中使用where字句进行查询过滤,经常使用的运算符有:
案例:
1)查询姓林的学生的成绩。
2)查询英语成绩大于90分的同学。
3)查询英语成绩大于90分并且姓林的学生
4)查询总分大于200的学生。
5)查询语文成绩大于英语成绩的学生。
6)查询总分大于200,并且语文成绩大于英语成绩,而且姓毕的学生。
7)查询数学成绩90~100分的学生。
8)查询语文成绩是98和99的同学。
(4)select的order by子句
作用:在select语句中使用order by子句排序查询的结果
语法: select column1,column2,… from table order by volumn asc|desc;
order by指定排序的列,也可以是别名。asc表示升序(默认),desc表示降序,order by子句应该位于select语句的结尾。
案例:
1)对数学成绩进行排序
2)对总分进行排序后,按从高到低输出
3)按姓毕的学生的语文成绩从高到低排序
(5)select的limit分页查询
语法:
1)select 字段 from table_name where 条件 limit 起始位置,记录条数;
2)select 字段 from table_name where 条件 limit 记录条数 offset 起始位置;
案例:按学生的id号升序取数,每页显示2条记录。