MySQL基本语句操作的总结

来源:这里教程网 时间:2026-02-28 12:12:51 作者:

本篇文章给大家带来的内容是关于MySQL基本语句操作的总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。   

数据库操作语句

推荐课程:MySQL教程

创建
create database 数据库名

查看所有数据库
show databases。

查看指定数据库建表语句及字符集
show create database  数据库名

删除数据库
drop database 数据库名

修改数据库字符集-了解
alter database 数据库名 character set ‘字符集’

切换数据库
use 数据库名

查看当前数据库名称
select database();

数据表结构的增删改查
有了数据库之后,想保存数据,必须在数据库中先有数据表。

创建数据表:
use 数据库名

查看表:
show tables;查看该数据库的所有表
desc 表名;查看表的列的信息(表结构)

单表创建时约束
为了防止重名,保障存储在数据表中的数据完整和有效性。
约束常用语法:列名 数据类型 约束条件
一张表中只能有一个主键:id int  primary key auto_increment

数据表结构删除:可以对表名、列名、类的类型、类的约束条件进行增删改。
增加列:alter table 表名      增/删/改        列名 类型(长度) 约束;
修改列类型、长度和约束:alter table 表名 modify 列名 类型(长度) 约束;
修改现有列名称:alter table 表名 change 旧列名 新列名 类型(长度) 约束;
修改现有列:alter table 表名 drop 列名 ;
修改表名:rename table 旧表名 to 新表名;
修改表的字符集:alter table 表名 character set 编码集;
数据表删除:drop table 表名;

数据表小结
数据表创建(重要)
create table 表名(
列名 数据类型 约束 ,
列名 数据类型 约束 约束,
………
);
查看表
show tables:查看所有的表
show create table 表名: 查看建表语句以及字符集
desc 表名:查看表结构。
修改表的语句(了解)
alter table 表名(add|modify|drop|change) 列名 类型(长度) 约束。
rename table 旧表名 to 新表名
删除表
drop table 表名

简单数据表内容的增删改查(很重要)

insert语句——数据记录的增加
CRUD:create、read/retrieve、update、delete
在Java代码中对数据库操作最频繁的就是对表中数据的CRUD操作。
数据的存储位置:表。

方式一:全写
语法:insert into 表名 (列名,列名,列名…)  values (值,值,值…);
注意:

使用select*from 表名——查看该表所有信息。

方式二:省略部分列
某一列有默认值,或者允许空,才可以省略。
主键是自增长的认为是有默认值的,也可以省略。

方式三:省略所有列
语法:insert into 表名 values(值,值,值);

update语句——修改表记录
语法:update 表名 set 列名=值,列名=值…[where 条件语句];
中括号不是语法内容,在这里表示这个条件语句可加可不加。
注意事项:
1、如果不加条件,将会修改某一列的所有值。
2、一般修改数据时,都需要增加条件。
多个列使用逗号隔开。

eg:将所有人的年龄修改为20岁
update user set age=20;
eg:将姓名为张三的人年龄改为18岁
update user set age=18 where name=“张三”;

delete语句——删除表中数据的语句
语法:delete from 表名 [where 条件语句]
如果没有where,删除表中所有数据
delete删除的是行。

Truncate语句——删除数据
语法:truncate table 表名;
先删除表,再创建表,就相当于将数据全部删除了。
就性能来讲:truncate table 的性能更好。

数据记录增删改小结:
新增:
insert into 表名 values(值,值,值……)
insert into 表名(列名1,列名2,列名3….) values(值1,值2,值3……)
insert into 表名(列名2,列名4,列名5….) values(值2,值4,值5……)

修改:
update 表名 set 列名=值,列名=值 where 条件

删除:
delete from 表名 where 条件
如果不加where 条件,就是删除所有的数据。

删除:清空数据
truncate table 表名
通过删除整张表之后再重新创建一张表来达到清空数据的目的。

delete 和 truncate的区别是delete删除的数据在事务管理的情况下还能恢复,而truncate则不能恢复。

SQL中的聚合/聚集函数
聚合函数:多个数据进行运算,运算出一个结果。
例如:求和、平均值、最大值、最小值。
SQL语言中定义了部分函数可以实现这些操作。
在这里插入图片描述count函数——统计记录数(统计行数)
语法:select count() | count(列名) from 表名
select count(
) from 表名: 统计表中的行数。

sum求和函数
语法:select sum(列名) from 表名;
select sum(列名) from 表名 where 条件

avg函数——平均值
语法: select avg(列名) from 表名;

max/min 最大值/最小值
select max(列名),min(列名) from 表名

group by 分组查询****
按照某一列或者某几列。把相同的数据,进行合并输出。
select … from … group by 列名;

说明:其实就是按列进行分类,然后可以对分类完的数据使用聚集函数进行运算。
注意事项:
1、聚合函数:分组之后进行计算;
2、通常 select的内容:a 被分组的列,b 聚合函数。
3、如果遇到这种情况   按照 每种,每个。 类似的这些语句的时候,通常会使用分组。
4、如果使用group by 对数据进行分组之后还要过滤。这时一般不能使用where,因为where关键字的后面不能跟上面讲解的这些函数。如果需要在过滤的条件中加上述的函数,只能使用having关键字。
5、where 后不能跟 聚合函数,having中可以跟 聚合函数。

group by 列名 having 条件
分组之后加过滤条件。

where 和 having 的区别。
1、having 通常与group by 分组结合使用。

2、having 可以书写聚合函数 (聚集函数出现的位置: select 之后,group by …  having 之后)where  不可以。
也就是说Where后面的条件having后都可以有,having后跟的条件where后不一定能跟

3、where 是在分组之前进行过滤的。having 是在分组之后进行过滤的。
查询时,如非必要,用where的效率更高,因为先将数据筛选之后再进行其他条件判断。

说明 : select … from … where 条件1 … gropu by … having 条件2  order by

条件1 会先执行过滤
进行分组
条件2进行过滤

select语句的执行顺序与查询小结:
查询关键字的出现顺序是固定的

select product,sum(price) as总价 from orders
	where price>10
		group by product
			having 总价>30
				order by 总价 asc;

在这里插入图片描述查询的执行顺序

    from : 表名

    where:条件过滤
    (定义别名)

    group by : 分组
    (聚合函数执行)

    having : 分组之后进行过滤。

    select :执行完毕之后,查询内容。

    order by : 排序输出显示.

相关推荐