MySQL的增删改查

Posted XuMou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL的增删改查相关的知识,希望对你有一定的参考价值。

增
指定字段名
语法:INSERT INTO 表名(字段名1,字段名2,…)VALUES(值1,值2,…);
举例:INSERT INTO student(id,name,grade) VALUES(1,zhangshan,98);
不指定字段名
语法:INSERT INTO 表名 VALUES(值11,值2,…);
举例:INSERT INTO student VALUES (2,lisi,62);
其他写法
语法:INSERT INTO 表名 SET 字段名1=值1[,字段名2=值2,…]
举例:INSERT INTO student SET id=4,name=zhaoliu,grade=72;
同时添加多条数据
语法:INSERT INTO 表名[(字段名1,字段名2,…)] VALUES (值1,值2,…),(值1,值2,…),…(值1,值2,…)
举例:INSERT INTO student VALUES (5,‘lilei’,99), (6,hanmeimei,87), (8,poly,76);
删
删除部分数据
语法:DELETE FROM 表名 [WHERE 条件表达式]
命令:DELETE FROM student WHERE id=7;
删除全部数据
语法:DELETE FROM 表名
命令:DELETE FROM student;
推荐的删除全部数据
语法:TRUNCTE [TABLE ] 表名
举例:TRUNCATE TABLE student
改
更新部分数据
语法:UPDATE 表名 SET 字段名1=值1,[ ,字段名2=值2,…] [ WHERE 条件表达式 ]
命令:UPDATE student SET name=‘caocao’,grade=50 WHERE id=1;
更新全部数据
语法:UPDATE 表名 SET 字段名=值
命令:UPDATE student SET grade=80;
查
查询所有字段
语法:SELECT 字段名1,字段名2,… FROM 表名 (该语法也可以查询部分字段)
语法:SELECT * FROM 表名;
按条件查询
语法:SELECT 字段名1,字段名2,… FROM 表名 WHERE 条件表达式
命令:SELECT id,name FROM student2 WHERE id=4;
带IN关键字的查询
语法:SELECT * | 字段名1,字段名2,… FROM 表名 WHERE 字段名 [ NOT ] IN (元素1,元素2,…)
命令:SELECT * FROM student2 WHERE id IN (1,2,3);
带 BETWEEN AND 关键字的查询
语法:SELECT * | { 字段名1,字段名2,… } FROM 表名 WHERE 字段名 [ NOT ] BETWEEN 值1 AND 值2;
命令:SELECT id,name FROM students WHERE id BETWEEN 2 AND 5;
空值查询
语法:SELECT * | 字段名1,字段名2,… FROM 表名 WHERE 字段名 IS [ NOT ] NULL
命令:SELECT * FROM student2 WHERE gender IS NULL;
带 DISTINCT 关键字的查询
语法:SELECT DISTINCT 字段名 FROM 表名;
命令:SELECT DISTINCT gender FROM student2;
带 LIKE 关键字的查询
语法:SELECT * | 字段名1,字段名2,… FROM 表名 WHERE 字段名 [ NOT ] LIKE ‘匹配字符串’;
注意:%表示匹配任意长度的字符串,_表示匹配单个字符串
命令:SELECT id,name FROM student2 WHERE name LIKE "S%";
命令:SELECT id,name FROM student2 WHERE name LIKE w%g;
命令:SELECT id,name FROM student2 WHERE name NOT LIKE %y%;
命令:SELECT * FROM student2 WHERE name LIKE wu_ong;
带 AND 关键字的多条件查询
语法:SELECT * | 字段名1,字段名2,… FROM 表名 WHERE 条件表达式1 AND 条件表达式2 [ … AND 条件表达式 n ];
命令:SELECT id,name FROM student2 WHERE id<5 AND gender=;
带 OR 关键字的多条件查询
语法:SELECT * | 字段名1,字段名2,… FROM 表名 WHERE 条件表达式1 OR 条件表达式2 [ … OR 条件表达式 n ];
命令:SELECT id,name ,gender FROM student2 WHERE id<3 OR gender=;
AND和OR一起使用时,AND的优先级高于OR
聚合函数
COUNT()函数:统计记录的条数
语法:SELECT COUNT(*) FROM 表名举例:
命令:SELECT COUNT(*) FROM student2;
SUM()函数:求出表中某个字段所有值的总和
语法:SELECT SUM(字段名) FROM 表名;
命令:SELECT SUM(grade) FROM student2;
AVG()函数:求出表中某个字段所有值的平均值
语法:SELECT AVG(字段名) FROM 表名;
命令:SELECT AVG(grade) FROM student2;
MAX()函数:求出表中某个字段所有值的最大值
语法:SELECT MAX(字段名) FROM 表名;
命令:SELECT MAX(grade) FROM student2;
MIN()函数:求出表中某个字段所有值的最小值
语法:SELECT MIN(字段名) FROM 表名;
命令:SELECT MIN(grade) FROM student2;
对查询结果进行排序
语法:SELECT 字段名1,字段名2,… FROM 表名 ORDER BY 字段名1 [ ASC | DESC ],字段名2 [ ASC | DESC ]
(升序)命令:SELECT * FROM student2 ORDER BY grade;
(降序)命令:命令:SELECT * FROM student2 ORDER BY grade DESC;
分组查询
语法:SELECT 字段名1,字段名2,… FROM 表名 GROUP BY 字段名1,字段名2,… [ HAVING 条件表达式 ];
单独使用 GROUP BY 进行分组
命令:SELECT * FROM student2 GROUP BY gender;
GROUP BY 和聚合函数一起使用
命令:SELECT COUNT(*) ,gender FROM student2 GROUP BY gender;
GROUP BY 和 HAVING 关键字一起使用
命令:SELECT sum(grade),gender FROM student2 GROUP BY gender HAVING SUM(grade) < 300;
使用 LIMIT 限制查询结果的数量
语法:SELECT 字段名2,字段名2,… FROM 表名 LIMIT [ OFFSET ,] 记录数
(从0开始的4条)命令:SELECT * FROM student LIMIT 4;
(从第五条开始的4条)命令:SELECT * FROM student2 ORDER BY grade DESC LIMIT 4,4;
为表和字段取别名
语法:SELECT * FROM 表名 [ AS ] 别名;
命令:SELECT * FROM student2 AS s WHERE s.gender=;
为字段取别名
语法:SELECT 字段名 [ AS ] 别名 [ ,字段名 [AS] 别名,…] FROM 表名 ;
命令:SELECT name AS stu_name,gender AS stu_gender FROM student2;
mysql的建表语句
#创建表,例子
#所谓的建表就是声明列的过程,所以要首先分析列
create table member(
    id int unsigned auto_increment primary key,
    username varchar(20) not null default ‘‘,
    gender char(1) not null default ‘‘,
    weight tinyint unsigned not null default 0,
    birth date not null default 0000-00-00,
    salary decimal(8,2) not null default 0.00,
    lastlogin int unsigned not null default 0
)engine myisam charset utf8;

 

以上是关于MySQL的增删改查的主要内容,如果未能解决你的问题,请参考以下文章

java对mysql数据库的增删改查代码

mysql的增删改查语句

mysql的增删改查

mysql 数据表的增删改查 目录

通过JDBC进行简单的增删改查(以MySQL为例)

Java通过JDBC进行简单的增删改查(以MySQL为例)