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日

相关文章

  • my.cnf(my.ini)重要参数优化配置说明

    首先,说明一下my.cnf(my.ini)是什么: my.cnf(my.ini)是MySQL的配置文件,存放在MySQL的安装目录下,用于配置MySQL的各种参数。 下面是my.cnf的重要参数优化配置说明: 1.缓冲池配置 缓冲池是MySQL的内存池,用来缓冲MySQL的数据和索引。以下是常用缓冲池参数的配置,可以根据实际情况进行调整: # InnoDB缓…

    MySQL 2023年5月19日
    00
  • 缓存与数据库双写一致性几种策略分析

    作者:京东零售 于泷 一、背景 在高并发场景中,为防止大量请求直接访问数据库,缓解数据库压力,常用的方式一般会增加缓存层起到缓冲作用,减少数据库压力。引入缓存,就会涉及到缓存与数据库中数据如何保持一致性问题,本文将对几种缓存与数据库保证数据一致性的使用方式进行分析。为保证高并发性能,以下分析场景不考虑执行的原子性及加锁等强一致性要求的场景,仅追求最终一致性。…

    MySQL 2023年4月19日
    00
  • centos 7.0 编译 安装mysql 5.6.22 过程 已完成~ 成功~ 撒花~

      mysql 下载目录/usr/local/srcmysql 解压目录 /usr/local/bin/mysql GitHub https://github.com/mysql/mysql-server   mysql官网的安装说明http://dev.mysql.com/doc/refman/5.6/en/source-installation.html…

    MySQL 2023年4月13日
    00
  • mysql插入索引太慢 加参数delay_key_write

    插入大数据时,有索引会很慢,可以DISABLE KEYS,或者直接在table中加入DELAY_KEY_WRITE 注: delay_key_write这个参数只对myisam类型表有效 如果你某个表需要经常update操作,这个参数就很管用! 但等delay_key_write使用时,出现断电或重启时,会导致在cache的索引update没来得及更新,所以…

    MySQL 2023年4月13日
    00
  • mysql普通表变成分区表导入导出

    环境:tidb、linux 1、先确认主键、创建分区表(用于代替原表) SELECT column_name FROM INFORMATION_SCHEMA.`KEY_COLUMN_USAGE` WHERE table_name=’wpt_dzxx_chdzb_20200813′ AND constraint_name=’PRIMARY’; 2、去除原表重复…

    MySQL 2023年4月13日
    00
  • node读取MySQL数据

    var Client = require(‘mysql’).createConnection({ host:’127.0.0.1′, user:’root’, password:’root’, database: ‘angular’, charset:’UTF8′ }) console.log(‘Connecting to MySQL…’); http …

    MySQL 2023年4月12日
    00
  • 2023云数据库技术沙龙MySQL x ClickHouse专场成功举办

    4月22日,2023首届云数据库技术沙龙 MySQL x ClickHouse 专场,在杭州市海智中心成功举办。本次沙龙由玖章算术、菜根发展、良仓太炎共创联合主办。围绕“技术进化,让数据更智能”为主题,汇聚字节跳动、阿里云、玖章算术、华为云、腾讯云、百度的6位数据库领域专家,深入 MySQL x ClickHouse 的实践经验和技术趋势,结合企业级的真实场…

    MySQL 2023年4月25日
    00
  • 数仓如何进行表级控制analyze?

    摘要: 介绍如何设置采样大小和表级控制analyze。 本文分享自华为云社区《GaussDB(DWS) 如何表级控制analyze》,作者:leapdb。 一、控制采样大小 【设置全局采样大小】 通过参数default_statistics_target设置全局默认采样大小。 a.default_statistics_target>0,表示按固定值方式…

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