百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

MySQL命令最全详解(39个最常用命令)

csdh11 2025-02-06 14:30 18 浏览

MySQL是大型架构的核心,也是大厂的必备技能,下面我就全面来详解MySQL核心命令@mikechen

本文作者:陈睿|mikechen

文章来源:mikechen.cc

MySQL数据库语句

1.创建数据库

create database name; 创建数据库

2.选择数据库

use databasename; 选择数据库

3.删除数据库

drop database name; 删除数据库

MySQL表语句

1.新建表

-- 新增一个User表
CREATE TABLE user(
id varchar(32) NOT NULL COMMENT 'id',
name varchar(64) DEFAULT NULL COMMENT '姓名',
create_by varchar(32) DEFAULT NULL COMMENT '创建人',
create_date datetime DEFAULT NULL COMMENT '创建时间',
update_by varchar(32) DEFAULT NULL COMMENT '更新人',
update_date datetime DEFAULT NULL COMMENT '更新时间',
status varchar(2) DEFAULT NULL COMMENT '数据状态',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='user表';

2.新增表字段

alter table user add COLUMN age VARCHAR(20) DEFAULT NULL COMMENT '年龄';

3.修改表字段

alter table user MODIFY COLUMN age varchar(64) COMMENT '年龄';

4.删除表字段

alter table user DROP age;

MySQL管理语句

1.连接本机数据库

mysql -uroot -p密码

2.连接到远程主机上的MYSQL

mysql -h 127.0.0.1 -uroot -p 123456

注:u与root可以不用加空格,其它也一样

3.修改mysql中root的密码

mysqladmin -u root password "newpwd";

4.添加创建用户

添加用户:

create user mikechen;

给用户权限:

grant all on *.* to 'mikechen'@'localhost' identified by 'password' ;

这里是把操作数据库的所有权限给了mikechen,并且设置密码是password。

MySQL增删改查语句

1.MySQL插入数据

insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

示例:

INSERT INTO study VALUES(1 , 'a' , 10);

2.MySQL删除数据

语法:

delete from 表名 [where  条件]

示例:

DELETE  FROM user WHERE id=5;

3.MySQL修改数据

语法:

update 表名 set 字段名1=值1,字段名2=值2,....[where条件]

示例:

UPDATE user SET name = mikechen  WHERE id = 1;

4.MySQL查询数据

语法:

select <字段1,字段2,...> from < 表名 > where < 表达式 >

示例:

select * from user;

MySQL索引语句

创建索引有两种方式,一种是直接利用CREATE INDEX进行创建,另外一种则是通过修改表结构来进行添加,则是利用ALTER TABLE语句。

1.使用CREATE INDEX

能够增加普通索引和UNIQUE索引两种,其格式如下:

create index index_name on table_name (column_list) ;
create unique index index_name on table_name (column_list) ;

2.使用ALTER TABLE

1.PRIMARY KEY(主键索引)
        mysql>ALTER TABLE `table_name` ADD PRIMARY KEY index_name(`column1`, `column2`) 
2.UNIQUE(唯一索引)
        mysql>ALTER TABLE `table_name` ADD UNIQUE index_name(`column1`, `column2`) 
3.INDEX(普通索引)
        mysql>ALTER TABLE `table_name` ADD INDEX index_name (`column1`, `column2`)
4.FULLTEXT(全文索引)
        mysql>ALTER TABLE `table_name` ADD FULLTEXT (`column1`, `column2`)

3.查看索引

在MySQL中,要查看某个数据库表中的索引也非常简单,只需要使用以下两个命令中的任意一种即可。

-如果查看索引前,没有使用user db_name等命令指定具体的数据库,则必须加上FROM db_name
SHOW INDEX FROM table_name [FROM db_name]
--如果查看索引前,没有使用user db_name等命令指定具体的数据库,则必须加上db_name.前缀
SHOW INDEX FROM [db_name.]table_name

4.修改索引

在MySQL中并没有提供修改索引的直接指令,一般情况下,我们需要先删除掉原索引,再根据需要创建一个同名的索引,从而变相地实现修改索引操作。

-先删除
ALTER TABLE user
DROP INDEX idx_user_username;
--再以修改后的内容创建同名索引
CREATE INDEX idx_cust_name ON customers (cust_name(8));

5.删除索引

ALTER TABLE customers
DROP INDEX idx_cust_name;

MySQL查询语句

1.直接查询

语法:

select 字段 from 表名

2.条件查询

语法:

select 字段 from 表名 where 条件

3.排序查询

语法:

select 字段 from 表名 order by 字段 排序方式

示例:

select * from user order by age desc;

4.范围查询

关键字为between…and…,通常位于条件字段后面。

select * from userwhere age >=21 and age<=23;

5.SQL查询五子句

语法:

基本语法:
mysql> select */字段列表 from 数据表名称 where 子句 group by 子句 having 子句 order by 子句 limit 子句;

五子句的顺序是固定的,不能颠倒

①.where 子句
②.group by 子句
③.having 子句
④.order by 子句
⑤.limit子句

6.模糊查询

SELECT uid, name FROM staffs WHERE name LIKE 'a%';

7.集合查询

SELECT uid, name FROM staffs WHERE uid IN(1, 3, 5);

查询uid为1、3、5的用户信息。

8.分页查询

当我们查询出来的数据量太大的时候,一页展示得又太多,一般情况下都会将其分成N页,那么这时候就需要用到分页查询。

SELECT * FROM staffs LIMIT 5, 10;

9.联合查询

union联合查询作用:把多个表中的数据联合在一起进行显示。

你可以在SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。

JOIN 按照功能大致分为如下三类:

1)INNER JOIN(内连接)

SELECT column_list
FROM t1
INNER JOIN t2 ON join_condition;

也叫内连接或等值连接,用于获取两个表中字段匹配关系的记录。

2)LEFT JOIN(左连接)

SELECT 
    t1.c1, t1.c2, t2.c1, t2.c2
FROM
    t1
        LEFT JOIN
    t2 ON t1.c1 = t2.c1;

左连接:获取左表所有记录,即使右表没有对应匹配的记录。

3)RIGHT JOIN(右连接)

select *
from students as s
right join teacher as t
on s.class_id = t.class_id

与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

本文作者:陈睿|mikechen

文章来源:mikechen.cc

相关推荐

pdf怎么在线阅读?这几种在线阅读方法看看

pdf怎么在线阅读?我们日常生活中经常使用到pdf文档。这种格式的文档在不同平台和设备上的可移植性,以及保留文档格式和布局的能力都很强。在阅读这种文档的时候,很多人会选择使用在线阅读的方法。在线阅读P...

PDF比对不再眼花缭乱:开源神器diff-pdf助你轻松揪出差异

PDF比对不再眼花缭乱:开源神器diff-pdf助你轻松揪出差异在日常工作和学习中,PDF文件可谓是无处不在。然而,有时我们需要比较两个PDF文件之间的差异,这可不是一件轻松的事情。手动逐页对比简直是...

全网爆火!580页Python编程快速上手,零基础也能轻松学会

Python虽然一向号称新手友好,但对完全零基础的编程小白来讲,总会在很长时间内,都对某些概念似懂非懂,每次拿起书本教程,都要从第一章看起。对于这种迟迟入不了门的情况,给大家推荐一份简单易懂的入门级教...

我的名片能运行Linux和Python,还能玩2048小游戏,成本只要20元

晓查发自凹非寺量子位报道|公众号QbitAI猜猜它是什么?印着姓名、职位和邮箱,看起来是个名片。可是右下角有芯片,看起来又像是个PCB电路板。其实它是一台超迷你的ARM计算机,不仅能够运...

由浅入深学shell,70页shell脚本编程入门,满满干货建议收藏

不会Linux的程序员不是好程序员,不会shell编程就不能说自己会Linux。shell作为Unix第一个脚本语言,结合了延展性和高效的优点,保持独有的编程特色,并不断地优化,使得它能与其他脚本语言...

真工程师:20块钱做了张「名片」,可以跑Linux和Python

机器之心报道参与:思源、杜伟、泽南对于一个工程师来说,如何在一张名片上宣告自己的实力?在上面制造一台完整的计算机说不定是个好主意。最近,美国一名嵌入式系统工程师GeorgeHilliard的名片...

《Linux 命令行大全》.pdf

今天跟大家推荐个Linux命令行教程:《TheLinuxCommandLine》,中文译名:《Linux命令行大全》。该书作者出自自美国一名开发者,兼知名Linux博客LinuxCo...

PDF转换是难题? 搜狗浏览器即开即看

由于PDF文件兼容性相当广泛,越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件选择开始使用这种格式来进行内容的展示,以便给用户更好的再现原稿的细节,但需要下载专用阅读器进行转化才能浏览的问题...

彻底搞懂 Netty 线程模型

点赞再看,养成习惯,微信搜一搜【...

2022通俗易懂Redis的线程模型看完就会

Redis真的是单线程吗?我们一般说Redis是单线程,是指Redis的网络IO和键值对操作是一个线程完成的,这就是Redis对外提供键值存储服务的主要流程。Redis的其他功能,例如持久化、异步删除...

实用C语言编程(第三版)高清PDF

编写C程序不仅仅需要语法正确,最关键的是所编代码应该便于维护和修改。现在有很多介绍C语言的著作,但是本书在这一方面的确与众不同,例如在讨论C中运算优先级时,15种级别被归纳为下面两条原则:需要的...

手拉手教你搭建redis集群(redis cluster)

背景:最近需要使用redis存储数据,但是随着时间的增加,发现原本的单台redis已经不满足要求了,于是就倒腾了一下搭建redistclusterredis集群。好了,话不多说,下面开始展示:...

记录处理登录页面显示: HTTP Error 503. The service is unavailable.

某天一个系统的登录页面无法显示,显示ServiceUnavailableHTTPError503.Theserviceisunavailable,马上登录服务器上查看IIS是否正常。...

黑道圣徒杀出地狱破解版下载 免安装硬盘版

游戏名称:黑道圣徒杀出地狱英文名称:SaintsRow:GatOutofHell游戏类型:动作冒险类(ACT)游戏游戏制作:DeepSilverVolition/HighVoltage...

Exchange Server 2019 实战操作指南

...