【MySQL】MySQL常见命令大全

avatar
作者
筋斗云
阅读量:0

目录

前言

大家好,不知道前面的20题大家写的怎么样,前面分享的20题是SQL中查询的基础题型,这部分被称为DQL部分,是每个学习MySQL必须要学会的部分,下面就让我来介绍MySQL中的其他部分。
在这里插入图片描述
在这里插入图片描述

一、DQL

先介绍一下sql语句的语法和执行顺序(序号代表顺序由1~9):

select 查询列表         (7) from 表名              (1[ join type join 表22) on 连接条件。           (3) where 筛选条件          (4) group by 分组字段       (5) having 分组后的筛选     (6) order by 排序的字段     (8] limit [offset] ,size;9) 其中:   - select: 指定要查询的列或表达式,用于检索数据。  - from: 指定要查询的表名,表示数据来自哪个表。 - join: 将两个或多个表连接起来进行查询,有不同类型的连接(如内连接、左连接、右连接等)。 - on: 指定连接条件,即指定两个表如何关联。 - where: 筛选条件,用于过滤数据,只返回满足条件的行。 - group by: 按指定列对结果集进行分组,通常与聚合函数一起使用(如 SUMCOUNT)。 - having: 对分组后的结果应用筛选条件,过滤分组后的结果集。 - order by: 指定结果集的排序方式,可以是升序(ASC)或降序(DESC)。 - limit: 限制查询返回的行数,常与 offset 一起使用,表示从第几行开始取数据,取多少行。 - offset: 要显示条目的起始索引(起始索引从0开始)。 - size: 要显示的条目个数。 

当你在编写 SQL 查询时,通常会使用这些来获取想要的数据,是MySQL中DQL的基本语法,要想熟练掌握它,需要不断通过sql习题来增强记忆,学会分析问题的思路,最后就能快速地实现需求。

二 、DML(数据操作语言)部分

以下是数据库操作部分的语法及其示例:

2.1 插入数据:

## 方式一:insert into 表名 values(,,) ; # 示例 : INSERT INTO beauty VALUES (17,'关晓彤','女',NULL,'18788888888',NULL,NULL); ## 方式二:insert into 表名 set 1,2,3; # 示例 : INSERT INTO beauty SET id=18,name='张静怡',phone='19088888888'; 

2.2 更新数据:

## 单表更新: update  表名  set xx=xx ; # 示例 : UPDATE boys SET boyName='李晨',userCP=50 WHERE id = 3; ## 多表更新: # (92规范)示例 : UPDATE boys bo,beauty b  SET b.boyfriend_id = 3 WHERE bo.id = b.boyfriend_id  AND bo.id IS NULL; # (99规范)示例 : UPDATE boys bo  RIGHT JOIN beauty b  ON bo.id = b.boyfriend_id  SET b.boyfriend_id = 3 WHERE bo.id IS NULL; 

2.3 删除数据:

## 单表删除: delete [from](单表加上,多表放表名后面)表名 where 筛选条件; # 示例 : DELETE FROM beauty WHERE phone LIKE '19%'; ## 多表删除: # 方式一:使用delete DELETE b  FROM beauty b  INNER JOIN boys bo ON b.boyfriend_id = bo.id WHERE bo.boyName = '汪峰'; delete b from beauty b , boys bo where b.boyfriend_id = bo.id  and bo.boyName = '汪峰'; # 方式二:使用truncate truncate  table 表名 TRUNCATE TABLE boys WHERE userCP > 100; -- 报错,truncate只能用于截断或者说是清空表。 TRUNCATE TABLE boys;      相当于清空表 

delete和truncate对比

(1) delete可以加where条件,truncate不能加。
(2) truncate删除,效率高一点。
(3) 加入要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据自增长列的值从1开始。
(4) truncate删除没有返回值,delete删除有返回值。
(5) truncate删除不能回滚,delete删除可以回滚。

DDL(数据定义语言)部分
以下是数据库定义部分的语法及其示例:

2.4 创建 create

#库: DROP DATABASE IF EXISTS books; CREATE DATABASE  [IF NOT EXISTS]  books; #表: DROP TABLE IF EXISTS books; CREATE TABLE [IF NOT EXISTS]  books(          id INT,  	bName VARCHAR(20) ); 

三、修改 alter

# 库: RENAME DATABASE books TO 新库名;   -- 一般不修改  # 更改库的字符集 ALTER DATABASE books CHARACTER SET 'utf8';  # 表: # 语法: alter table 表名 add | drop | modify | change  column 列名 [列类型 约束]; add(加字段):ALTER TABLE author ADD COLUMN age INT; drop(删字段):ALTER TABLE author DROP COLUMN age; modify(修改字段类型):ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP; change(修改列名):ALTER TABLE book CHANGE COLUMN publishDate pubDate DATETIME; 如果想修改表名:ALTER TABLE author RENAME TO book_author; 添加外键:ALTER TABLE table_name ADD FOREIGN KEY (column_name) REFERENCES other_table(column_name) 

四、删除 drop

#库: DROP DATABASE [IF EXISTS] books; #表: DROP TABLE [IF EXISTS] book_author; 

五、表的复制

# 方式一: 使用like复制表结构   CREATE TABLE 表名 LIKE author;  # 方式二: 复制结构和数据  CREATE TABLE 表名 SELECT * FROM author;  # 使用where 0和 where 1 来实现: CREATE TABLE 表名  SELECT id,au_name  FROM author  WHERE 0;  (仅仅复制表结构即字段) CREATE TABLE 表名 SELECT id,au_name  FROM author  WHERE 1;      (结构加数据)       

六、常见数据类型

整型:         int           bigint 小数定点数:   DECIMAL类型    NUMERIC类型   小数浮点数:    float          double 字符型较短的文本:char       varchar 字符型较长的文本:text       blob(较长的二进制数据) 日期型:         date        datetime      timestamp           在创表时不确定的字段类型使用varchar(255) 

好了,今天就先介绍这么多,以后每天还会分享更多的大数据技术基础知识!
最初附上这部分思维导图,以便大家记忆。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!