首页 > 数据库 >MySQL常用数据库语句

MySQL常用数据库语句

时间:2023-04-29 18:23:07浏览次数:43  
标签:语句 数据库 MySQL 查询 字段 字段名 表名 table select

==数据库==
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 条件;

标签:语句,数据库,MySQL,查询,字段,字段名,表名,table,select
From: https://www.cnblogs.com/Rover20230226/p/17364330.html

相关文章

  • python 读写sqlite3 读写内存中的数据库
    Python中,可以使用标准库sqlite3来读写SQLite数据库。下面是一个示例代码,展示如何连接到SQLite数据库,创建表格,插入数据,查询数据和关闭数据库:importsqlite3#连接到数据库conn=sqlite3.connect('example.db')#创建一个表格conn.execute('''CREATETABLEIFNOTE......
  • docker 创建mysql及卷挂载
    dockerpullmysql:5.7dockerrun-d-p3307:3306-v/home/mysql/conf:/etc/mysql/conf.d-v/home/mysql/data:/var/lib/mysql-eMYSQL_ROOT_PASSWORD=root--namemysql57mysql:5.7----------------------------------------------d后台运行-p3307:3306端口映射-v......
  • mysql: character set
    --https://dev.mysql.com/doc/refman/8.0/en/charset-database.htmlshowvariableslike"character_set_%";CREATEDATABASE`geovindu`CHARACTERSETutf8COLLATEutf8_general_ci;--mysql官方说明文档才知道原来MySQL8.0已经已经把默认字符集升级成ut8mb4了ALTERDA......
  • SequoiaDB分布式数据库2023.4月刊
    本月看点速览赋能产业升级,荣获新睿之星聚焦金融,进一步探索非结构化数据价值释放再获肯定,入选2023年中国最佳信创厂商入围名单青杉计划2023已开启,一起攀登更高的“杉” 赋能产业升级,荣获新睿之星4月18日,2023年第九届广州国际投资年会在广州白云国际会议中心成功举办。会中......
  • MySQL中的锁有哪些,作用是什么?
    概述:锁最要是用来实现MySQL的隔离性。我们都知道事务有四大特性分别是:原子性、一致性、隔离性、持久性,即所说的ACID。一、什么是ACID1、原子性:事务中包含有很多操作,这些操作要么全部执行,要么全部不执行,所以支持回滚操作。2、一致性:系统从一种一致性到另一种一致性状态。事物的一致......
  • Flask 中用 dbutils 实现数据库连接池
    Flask中用dbutils实现数据库连接池之前用dbutils来实现数据库连接池,这里将其封装为一个自定义类并在flask中实际应用一下,在实际场景中肯定是多页面接口,这也就涉及到python的import问题,就个人感觉它没有像js那样方便,但也能用吧.目录......
  • 数据库连接池 - Pymysql
    数据库连接池+pymysql最近想用小程序来做个移动BI,然后涉及后端接口部分打算用Python的flask框架整一波,主要听闻它比较轻量,简单和可灵活配置,这就和我很对味.毕竟我主要搞数据用的就是sql而已,只要有个服务器提供接口就行.真正开始来写接......
  • MySQL日期字符串转日期格式,日期格式数据转为字符串
    如下:1、日期字符串转换为日期格式数据SELECTDATE('2017-02-11');SELECTDATE('2017/02/11');SELECTSTR_TO_DATE('2015/02/25','%Y/%m/%d');SELECTSTR_TO_DATE('2015-02-25','%Y-%m-%d');返回日期格式数据 2、DATE_FORMAT将日期转......
  • 数据库的基本操作
    结构化查询语句分类创建数据表数据类型字符串类型日期和时间型数值类型NULL值设置数据表的类型数据表的存储位置设置数据表字符集修改表(ALTERTABLE)删除数据表其他结构化查询语句分类数据库操作创建数据库:createdatabase[ifnotexists]数据库名;删除数据库......
  • 数据库函数
    常用函数数据函数字符串函数日期和时间函数系统函数题目介绍实现数据加密常用函数1.数据函数SELECTABS(-8);/*绝对值*/SELECTCEILING(9.4);/*向上取整*/SELECTFLOOR(9.4);/*向下取整*/SELECTRAND();/*随机数,返回一个0-1之间的随机数*/SELECT......