本文主要介绍mysql常用的SELECT、INSERT、UPDATE、DELETE语句的使用,数据库的安装这里不做介绍,并且事先已经准备好相关数据。 本文中使用的student表中的数据如下: mysql> SELECT * FROM student;
一、SELECT语句的使用 1.单表查询 语法格式: SELECT culom1,culom2,culom3 FROM TABLE_NAME; 可以改变字段显示顺序
2.WHERE子句查询 语法格式: SELECT culom1,culom2,culom3 FROM TABLE_NAME WHERE 条件表达式; 例如查找student表中年龄大于等于20的 mysql> SELECT name,age FROM student WHERE age>=20;
3.WHERE子句常用的查询条件 比较: =,<,<=,>,>=,!=,<>,!>,!< 指定范围: BETWEEN AND,NOT BETWEEN AND 指定集合: IN,NOT IN 匹配字符: LIKE,NOT LIKE 是否为空值: IS NULL,IS NOT NULL 多个查询条件: AND,OR
4.BETWEEN应用 查找student表中年龄在20到30的 mysql> SELECT * FROM student WHERE age BETWEEN 20 AND 30; 查找student表中年龄不在20到30的 mysql> SELECT * FROM student WHERE age NOT BETWEEN 20 AND 30;
5.LIKE应用 查找student表中name字段以x开头的 mysql> SELECT * FROM student WHERE name LIKE 'x%'; 查找student表中name字段不是z开头的 mysql> SELECT * FROM student WHERE name NOT LIKE 'z%';
6.AND、OR应用 查找student表中年龄在20到30的并且name字段以z开头的 mysql> SELECT * FROM student WHERE age BETWEEN 20 AND 30 AND name LIKE 'z%'; 查找student表中年龄在20到30的或者name字段以z开头的 mysql> SELECT * FROM student WHERE age BETWEEN 20 AND 30 OR name LIKE 'z%';
7.DISTINCT应用 查询结果不重复 语法格式: SELECT DISTINCT culom1 FROM TABLE_NAME;
8.查询结果排序 ORDER BY字句使用,ASC升序排序,DESC降序排序,默认为ASC升序排序 语法格式: SELECT culom1,culom2,culom3 FROM TABLE_NAME ORDER BY culom1 [ASC|DESC]; 查找student表中所有字段信息并按age字段降序排序 mysql> SELECT * FROM student ORDER BY age DESC;
9.使用函数查询 COUNT()函数:统计记录的条数 mysql> SELECT COUNT(*) FROM student; SUM()函数:求和 显示student表中xiaoming同学的所有课程总分 mysql> SELECT name,SUM(score) FROM student WHERE name="xiaoming"; AVG()函数:求平均值 显示student表中yuwen课程的平均分数 mysql> SELECT courses,AVG(score) FROM student WHERE courses="yuwen"; MAX()函数:求最大值 显示student表中年龄最大的同学 mysql> SELECT name,MAX(age) FROM student; MIN()函数:求最小值 二、插入、更新与删除数据
1.插入数据 INSERT语句使用 为表中的所有字段插入数据 语法格式:INSERT INTO TABLE_NAME VALUES (VALUE1,VALUE2,VALUE3...VALUE#); 向student表中所有字段插入一行数据,必需指定所有字段值否则报错 mysql> INSERT INTO student VALUES (6,"lisi",27,3,"guojing","shuxue",86);
为表的指定字段插入数据 语法格式:INSERT INTO TABLE_NAME (column1,column2,column3...column#) VALUES (VALUE1,VALUE2,VALUE3...VALUE#); 向student表中插入数据,指定字段名其中AUTO_INCREMENT属性的字段可以不用指定会自动生成 mysql> INSERT INTO student (name,age,class,teacher_name,courses,score) VALUES ("lisi",27,3,"guojing","yingyu",89);
同时插入多条记录 语法格式:INSERT INTO TABLE_NAME VALUES (VALUE1,VALUE2,VALUE3...VALUE#),(VALUE1,VALUE2,VALUE3...VALUE#)...; 向student表中同时插入两条数据 mysql> INSERT INTO student (name,age,class,teacher_name,courses,score) VALUES ("lisi",27,3,"guojing","yingyu",89),("zhangsan",25,4,"lixiaolong","shuxue",89);
2.更新数据 UPDATE使用 语法格式:UPDATE TABLE_NAME SET column1=VALUE1,column2=VALUE2 WHERE 条件表达式; 将student表中zhangsan同学的班级改为5班 mysql> UPDATE student SET class=5 WHERE name="zhangsan";
3.删除数据 DELETE语句使用 语法格式:DELETE FROM TABLE_NAME WHERE 条件表达式; 当不指定条件表达式时删除表中所有的数据 删除student表中zhangsan同学同时课程为shuxue的一条数据 mysql> DELETE FROM student WHERE name="zhangsan" AND courses="shuxue";
|