MySQL常用数据库语句

==数据库==
1、创建数据库
create database [IF NOT EXISTS] 数据库名;

2、删除数据库
drop database [IF EXISTS] 数据库名;

3、切换数据库
select database();

4、查询数据库
show databases;

————————————————————————————

==数据表==
1、创建数据表
create table 表名(
  字段名1 字段类型1(字段长度) [ 约束 ] [ comment 字段1注释 ], -- 不是 ; 号
  字段名2 字段类型2(字段长度) [ 约束 ] [ comment 字段2注释 ],
  ....
  字段名n 字段类型n(字段长度) [ 约束 ] [ comment 字段2注释 ] -- 最后一列后面是没有,的
) [ comment 表注释 ];

2、删除数据表
==删除表==: drop table [ if exists ] 表名

3、修改数据表
==添加字段==: alter table 表名 add 字段名 类型(长度)

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

==修改字段名和字段类型==: alter table 表名 change 旧字段名 新字段名 类型 (长度)

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

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

4、查询数据表
==查询当前数据库所有表==: show tables

==查询表结构==: desc 表名

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

————————————————————————————

==数据==

1、添加数据
==指定字段添加数据==: 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, ...)

2、删除数据
==删除数据==: delete from 表名 [ where 条件 ]

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

4、查询数据
==查询指定字段==: select 字段1, 字段2, 字段3 from 表名

==查询所有字段==: select * from 表名

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

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

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

==聚合函数==: 将一列数据作为一个整体,进行纵向计算,语法为: select `聚合函数(字段名)` from 表名

==分组过滤==: select 分组字段,聚合函数() from 表名 `group by 分组字段名` `having 分组后过滤条件`

==排序:== select 字段列表 from 表名 order `by 字段1 排序方式1 , 字段2 排序方式2`
ASC:升序(默认值)DESC:降序

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

select 集合函数() from 表 [where 条件] [group by 分组] [having 过滤] [order by 排序] [limit 截取]
1. 普通条件: where
2. 排序: order by 列 asc升序(默认) desc降序
3. 聚合函数: count(列)
4. 分组: group by 列
5. 过滤: having 过滤条件
6. 截取: limit 开始,几个

————————————————————————————

==外键约束==
1、创建表的时候添加
create table 表名(
  列名 列类型,
  [constraint 约束名: 外键列_fk] foreign key (列名) references 主表(主键)
)
2、创建表之后单独添加
alter table 表名 add [constraint 约束名] foreign key (列名) references 主表(主键)

————————————————————————————

==连接==

==交叉连接==:select * from 左表,右表

==内连接==
隐式内连接:select * from 左表,右表 where 连接条件
显示内连接:select * from 左表 [inner] join 右表 on 连接条件

==左外连接==
select * from 左表 left [outer] join 右表 on 连接条件

==右外连接==
select * from 左表 right outer join 右表 on 连接条件

==子查询==
单个值,使用 = > < 等进行条件判断 : SELECT 字段列表 FROM 表 WHERE 字段名 = (子查询);
多个值,使用in、not in进行条件判断 : SELECT 字段列表 FROM 表 WHERE 字段名 in (子查询);
一张表,将此结果声明为临时表来使用 : SELECT * FROM (子查询) AS 表 JOIN 表 ON 条件;

原文链接:https://www.cnblogs.com/Rover20230226/p/17364330.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL常用数据库语句 - Python技术站

(0)
上一篇 2023年4月30日
下一篇 2023年5月1日

相关文章

  • MySQL查询性能优化索引下推

    MySQL查询性能优化是MySQL数据库优化中非常重要的一部分。其中索引下推是一种高效的优化技术,可以极大地提升MySQL查询的性能。 以下是MySQL查询性能优化索引下推的完整攻略: 什么是索引下推 MySQL查询优化器根据SQL语句和表的索引信息,决定如何执行查询。索引下推是让MySQL选择更优的执行计划的一种技术。它的核心思想是尽可能多地利用索引,减少…

    MySQL 2023年5月19日
    00
  • MySQL 5.7增强版Semisync Replication性能优化

    MySQL 5.7增强版Semisync Replication性能优化攻略 背景 MySQL 5.7版本引入了Semisync Replication功能,通过在主从数据库之间实现同步的Semi-Sync机制来提高主从同步的可靠性。但是在高并发并发情况下,Semisync Replication可能会成为瓶颈,影响主库的性能,需要进行优化。 改进方式 以下…

    MySQL 2023年5月19日
    00
  • mysql limit分页优化方法分享

    一下是「mysql limit分页优化方法分享」的完整攻略。 一、问题概述 在处理大量数据时,往往需要进行分页处理。而mysql中的limit语句便是用于分页的一个重要方法。但在数据量较大的情况下,使用limit语句进行分页容易导致性能问题。因此,本文将介绍mysql limit分页优化的方法。 二、基础知识 在介绍mysql limit分页优化的方法之前,…

    MySQL 2023年5月19日
    00
  • TiDB与MySQL的SQL差异及执行计划简析

    作者:京东零售 肖勇 一、 前言导读 TiDB作为NewSQL,其在对MySQL(SQL92协议)的兼容上做了很多,MySQL作为当下使用较广的事务型数据库,在IT界尤其是互联网间使用广泛,那么对于开发人员来说,1)两个数据库产品在SQL开发及调优的过程中,都有哪些差异?在系统迁移前需要提前做哪些准备? 2)TiDB的执行计划如何查看,如何SQL调优? 本文…

    MySQL 2023年4月17日
    00
  • mysql 排重查询

    GROUP BY 语句可以实现某一列的去重查询。 直接上语句: select io_dev_id from io_info where (TID=1 AND host_name=’yang1′) GROUP BY 1; 按照io_dev_id去重查询。   p:顺手加上与ORDER BY 和 distinct的区分使用 GROUP BY 是根据列捡选 ORD…

    MySQL 2023年4月12日
    00
  • 一些mysql启动参数的说明和优化方法

    下面是“一些MySQL启动参数的说明和优化方法”的完整攻略。 MySQL启动参数的说明 MySQL启动参数是指在启动时指定的MySQL运行时参数,它们可以控制MySQL的各种行为。下面是一些主要的启动参数: –port=端口号 指定MySQL监听的端口号,缺省为3306端口。 –bind-address=IP地址 指定MySQL运行的IP地址,如果指定为…

    MySQL 2023年5月19日
    00
  • Mysql调优Explain工具详解及实战演练(推荐)

    Mysql调优Explain工具详解及实战演练(推荐)是一个Mysql数据库调优的教程,其中作者Mysql调优Explain工具做详细的讲解,并演示了一些实战案例。 1. 调优前的准备工作 在使用Explain工具进行调优之前,需要进行一定的准备工作。如下: 1.1 创建测试数据 首先需要创建一些测试数据用于模拟真实环境中的查询场景。可以通过插件数据、复制真…

    MySQL 2023年5月19日
    00
  • MySQL的日志基础知识及基本操作学习教程

    下面是关于“MySQL的日志基础知识及基本操作学习教程”的攻略: 什么是MySQL的日志? MySQL的日志是指在MySQL数据库运行时进行记录、维护和跟踪所产生的的事件的数据文件,包括错误日志、查询日志、二进制日志、重做日志和慢查询日志等等。在MySQL中,这些日志能够为管理员、开发人员和维护人员提供重要的信息,包括跟踪数据库的行为、分析数据库性能、排错问…

    MySQL 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部