mysql基础知识之增删查改使用介绍
本文主要介绍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";
本文出自 “linux之路” 博客,请务必保留此出处http://hnr520.blog.51cto.com/4484939/1675279
原文地址:http://hnr520.blog.51cto.com/4484939/1675279