mysql数据库

本文详细介绍了SQL的四大类别:DDL(数据库和表操作)、DML(插入、更新和删除)、DQL(基本、条件、分组、排序和分页查询),包括各种操作命令和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL语句通常被分为四大类:

DDL(数据库操作):

查询:

查询所有数据库:show databases;

查询当前数据库:select database();

使用:

使用数据库:use  数据库名 ;

创建:

创建数据库:create  database [ if  not  exists ]   数据库名 ;

删除:

删除数据库:drop  database [ if exists ]   数据库名 ;

上述语法中的database,也可以替换成 schema。如:create schema  db01;

DDL(表操作):

创建:

create table  表名(

                        字段1  字段类型  [ 约束 ]  [ comment  字段1注释 ]

,

                         ......     

                         字段n  字段类型  [ 约束 ]  [ comment  字段n注释 ]);

约束:

查询:

查询当前数据库所有表:show tables;

查询表结构:desc  表名;

查询建表语句:show create table 表名;

修改:

添加字段:alter table 表名  add  字段名  类型(长度)  [comment  注释]  [约束];

修改字段类型:alter table 表名 modify  字段名  新数据类型(长度);

修改字段名和字段类型:alter table 表名 change  旧字段名  新字段名  类型 (长度)  [comment 注释]  [约束];

删除字段:alter table 表名 drop  column 字段名;

修改表名: rename table 表名 to  新表名;

删除:

删除表:drop table [ if exists ] 表名;

DML(INSERT):

insert:

指定字段添加数据:insert into 表名 (字段名1, 字段名2)  values (值1, 值2);

全部字段添加数据:insert into 表名 values (值1, 值2, ...);

批量添加数据(指定字段):insert into 表名 (字段名1, 字段名2)  values (值1, 值2), (值1, 值2);

批量添加数据(全部字段):insert into 表名 values (值1, 值2, ...), (值1, 值2, ...);

DML(UPDATE):

update:

修改数据:update  表名  set  字段名1 = 值1 , 字段名2 = 值2 , .... [ where  条件 ] ;

DML(DELETE):

delete:

删除数据:delete  from  表名  [ where  条件 ];

DQL-基本查询:

查询多个字段:select  字段1, 字段2, 字段3  from   表名;

查询所有字段(通配符):select  *  from   表名;

设置别名:select  字段1  [ as  别名1 ] , 字段2  [ as  别名2 ]   from   表名;

去除重复记录:select  distinct  字段列表  from   表名;

DQL-条件查询:

条件查询:select  字段列表  from   表名   where   条件列表 ;

DQL-分组查询:

聚合语法:select  聚合函数(字段列表)  from   表名 ;

null值不参与所有聚合函数运算。

统计数量可以使用:count(*)   count(字段)   count(常量),推荐使用count(*)。

分组查询:select  字段列表  from   表名  [ where   条件 ]  group   by  分组字段名  [ having  分组后过滤条件 ];

where与having区别:

1.执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。

2.判断条件不同:where不能对聚合函数进行判断,而having可以。

分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

执行顺序: where  >  聚合函数 > having 。

DQL-排序查询:

条件查询:select  字段列表  from   表名   [ where   条件列表 ] [ group by  分组字段 ] order  by  字段1  排序方式1 , 字段2  排序方式2  ...;

排序:

ASC:升序(默认值)

DESC:降序

DQL-分页查询:

分页查询:select  字段列表  from   表名  limit  起始索引, 查询记录数 ;

起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。

分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。

如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值