MySQL基本命令

mysql安装方式
mysql安装方式有三种,一种是rpm方式安装,一种是源码编译安装,一种是通用二进制格式包安装。

rpm方式安装,可以直接使用yum命令安装或者下载rpm包后再安装

yum安装命令:
yum -y install mysql-server
系统会自动解决依赖关系,并将mysql客户端也安装上。

mysql交互模式中的命令类别:
客户端命令:在客户端执行的命令

服务器命令:在服务器上执行,并将结果返回给客户端。必须使用语句结束符,默认为封号“;”

mysql数据库:

70.png

mysql安装完成后,默认有3个数据库
information_schema:是mysql运行过程中位于内存中的信息,保存mysql运行时数据,只有mysql启动时才有数据,平时是空的。

test:测试时才用到的数据库

mysql:mysql 的数据库

MySQL数据库目录:

[root@host2 ~]# ls /var/lib/mysql/ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.sock  test

可以看到没有information_schema数据库,因为它是存在内存中的。

MySQL常用命令:

DDL:定义数据库对象:
CREATE:

ALTER:

DROP:

DML:数据操纵语言
INSERT

UPDATE

DELETE

DCL数据控制语言
GRANT:

REVOKE:

创建数据库:
CREATE DATABASE db_name;

CREATE DATABASES IF NOT EXISTS testdb; 

mysql> CREATE DATABASE test_db;Query OK, 1 row affected (0.00 sec)mysql> SHOW DATABASES;+--------------------+| Database           |+--------------------+| information_schema || mysql              || test               || test_db            |+--------------------+4 rows in set (0.01 sec)

删除数据库:

DROP DATABASE db_name;

mysql> DROP DATABASE test_db;Query OK, 0 rows affected (0.00 sec)mysql> SHOW DATABASES;+--------------------+| Database           |+--------------------+| information_schema || mysql              || test               |+--------------------+3 rows in set (0.00 sec)

创建表:
CREATE TABLE tb_name(col1,col2,…) col1,col2为字段名

注意:表是依赖于数据库的,所以在创建表之前,一定要指定默认数据库,使用命令
USER DATABASE; 来指定数据库
创建一个表,名为student,包含三个字段,Name、Age、Gender

mysql> CREATE TABLE students(Name CHAR(20) NOT NULL, Age TINYINT UNSIGNED,Gender CHAR(1) NOT NULL);Query OK, 0 rows affected (0.01 sec)mysql> SHOW TABLES;+-------------------+| Tables_in_test_db |+-------------------+| students          |+-------------------+1 row in set (0.00 sec)

查看某个数据库中的表:
SHOW TABLES FROM db_name;

查看表结构:
DESC table_name;

mysql> DESC students;+--------+---------------------+------+-----+---------+-------+| Field  | Type                | Null | Key | Default | Extra |+--------+---------------------+------+-----+---------+-------+| Name   | char(20)            | NO   |     | NULL    |       || Age    | tinyint(3) unsigned | YES  |     | NULL    |       || Gender | char(1)             | NO   |     | NULL    |       |+--------+---------------------+------+-----+---------+-------+3 rows in set (0.00 sec)

删除表:
DROP TABLE tb_name;

修改表:
ALTER TABLE tb_name;

MODIFY:修改某个字段,修改字段属性,字段名不改

CHANGE:改变某个字段,改变字段名称

ADD:添加字段

DROP:删除字段

可以通过help命令查询帮助信息:

help CREATE TABLE;

增加一个字段
例如:修改前面创建的student表,增加一个字段课程course,

mysql> ALTER TABLE students ADD course VARCHAR(100);Query OK, 0 rows affected (0.00 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> DESC students;+--------+---------------------+------+-----+---------+-------+| Field  | Type                | Null | Key | Default | Extra |+--------+---------------------+------+-----+---------+-------+| Name   | char(20)            | NO   |     | NULL    |       || Age    | tinyint(3) unsigned | YES  |     | NULL    |       || Gender | char(1)             | NO   |     | NULL    |       || course | varchar(100)        | YES  |     | NULL    |       |+--------+---------------------+------+-----+---------+-------+4 rows in set (0.00 sec)

修改字段名称,例如将上面添加的course字段名改为Course

mysql> ALTER TABLE students CHANGE course Course VARCHAR(100);Query OK, 0 rows affected (0.00 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> DESC students;+--------+---------------------+------+-----+---------+-------+| Field  | Type                | Null | Key | Default | Extra |+--------+---------------------+------+-----+---------+-------+| Name   | char(20)            | NO   |     | NULL    |       || Age    | tinyint(3) unsigned | YES  |     | NULL    |       || Gender | char(1)             | NO   |     | NULL    |       || Course | varchar(100)        | YES  |     | NULL    |       |+--------+---------------------+------+-----+---------+-------+4 rows in set (0.00 sec)

删除一个字段:
DROP col_name;

插入数据: 

INSERT  INTO  tb_name (col1,col2,...) VALUES|VALUE ('STRING',NUM...);

上面命令意思是:往某个表中插入数据,字段名为col1,col2,… 插入的值为字符串则,用引号引起来,如果为数值,则直接用数字。如果每一个字段都给值,则不用写字段名称

例如:在students表中插入两条数据,张三和李四

硅基智能 硅基智能

基于Web3.0的元宇宙,去中心化的互联网,高质量、沉浸式元宇宙直播平台,用数字化重新定义直播

硅基智能 62 查看详情 硅基智能

mysql> INSERT INTO students (Name,Gender) VALUE ('ZhangSan','M'),('LiSi','F');Query OK, 2 rows affected (0.00 sec)Records: 2 Duplicates: 0 Warnings: 0

查看数据

mysql> SELECT * FROM students;+----------+------+--------+--------+| Name     | Age  | Gender | Course |+----------+------+--------+--------+| ZhangSan | NULL | M      | NULL   || LiSi     | NULL | F      | NULL   |+----------+------+--------+--------+2 rows in set (0.01 sec)

插入一个用户,所有字段都有值:
注意,所有字段都有值,就不需要指定字段名

mysql> INSERT INTO students VALUES ('ZengChengpeng',28,'M','IT');Query OK, 1 row affected (0.00 sec)mysql> SELECT * FROM students WHERE Name='ZengChengpeng';+---------------+------+--------+--------+| Name          | Age  | Gender | Course |+---------------+------+--------+--------+| ZengChengpeng |   28 | M      | IT     |+---------------+------+--------+--------+1 row in set (0.00 sec)

修改数据:

UPDATE tb_name SET column=value WHERE 条件

例如:将ZengChengpeng的Course课程名称改为Develop

mysql> UPDATE students SET Course='Develop' WHERE Name='ZengChengpeng';Query OK, 1 row affected (0.00 sec)Rows matched: 1  Changed: 1  Warnings: 0mysql> SELECT * FROM students WHERE Name='ZengChengpeng';+---------------+------+--------+---------+| Name          | Age  | Gender | Course  |+---------------+------+--------+---------+| ZengChengpeng |   28 | M      | Develop |+---------------+------+--------+---------+1 row in set (0.00 sec)

SELETE语句:

selete语句分为两种情况,

选择:指定以某字段作为搜索码,做逻辑比较,筛选符合条件的行。WHERE指定选择条件    投影:指定以某字段作为搜索码,做逻辑比较,筛选符合条件的字段。mysql> SELECT Name,Course FROM students WHERE Gender='M';   +---------------+---------+| Name          | Course  |+---------------+---------+| ZhangSan      | NULL    || ZengChengpeng | Develop |+---------------+---------+

删除数据:
DELECT FROM tb_name WHERE 条件;

创建用户:
CREATE USER ‘USERNAME’@’HOST’ IDENTIFIED BY ‘PASSWORD’; 
删除用户:
DROP USER ‘USERNAME’@’HOST’;

HOST:

IP:

HOSTNAME:

NETWORK:

通配符: 通配符用引号引起来

_:下划线匹配任意单个字符:例如172.16.0._

%:匹配任意字符:

jerry@’%’ 

用户权限:
添加权限:
GRANT pri1,pri2,… ON DB_NAME.TB_NAME TO ‘USERNAME’@’HOST’ [IDENTIFIED BY ‘PASSWORD’];
pri1 pri2表示权限名称,所有权限用ALL PRIVILEGES表示
取消权限:
REVOKE pri1,pri2,… ON DB_NAME.TB_NAME FROM ‘USERNAME’@’HOST’;

创建用户示例:

mysql> CREATE USER 'jerry'@'%' IDENTIFIED BY 'jerry';

查看用户授权:
SHOW GRANTS FOR ‘USERNAME’@’HOST’;

mysql> SHOW GRANTS FOR jerry@'%';+------------------------------------------------------------------------------------------------------+| Grants for jerry@%                                                                                   |+------------------------------------------------------------------------------------------------------+| GRANT USAGE ON *.* TO 'jerry'@'%' IDENTIFIED BY PASSWORD '*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0' |+------------------------------------------------------------------------------------------------------+

示例:给jerry用户test_db这个数据库所有表的所有权限

mysql> GRANT ALL PRIVILEGES ON test_db.* TO 'jerry'@'%';Query OK, 0 rows affected (0.00 sec)mysql> SHOW GRANTS FOR 'jerry'@'%';+------------------------------------------------------------------------------------------------------+| Grants for jerry@%                                                                                   |+------------------------------------------------------------------------------------------------------+| GRANT USAGE ON *.* TO 'jerry'@'%' IDENTIFIED BY PASSWORD '*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0' || GRANT ALL PRIVILEGES ON `test_db`.* TO 'jerry'@'%'                                                   |+------------------------------------------------------------------------------------------------------+2 rows in set (0.00 sec)

取消所有权限:

mysql> REVOKE ALL PRIVILEGES ON test_db.* FROM jerry@'%';Query OK, 0 rows affected (0.00 sec)mysql> SHOW GRANTS FOR 'jerry'@'%';                      +------------------------------------------------------------------------------------------------------+| Grants for jerry@%                                                                                   |+------------------------------------------------------------------------------------------------------+| GRANT USAGE ON *.* TO 'jerry'@'%' IDENTIFIED BY PASSWORD '*09FB9E6E2AA0750E9D8A8D22B6AA8D86C85BF3D0' |+------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)

以上就是MySQL基本命令的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/418174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
电脑如何禁用启动项 管理开机启动程序的教程
上一篇 2025年11月7日 08:31:47
如何通过快手极速版看视频赚金币_快手极速版看视频赚金币教程
下一篇 2025年11月7日 08:31:52

相关推荐

  • mysql管理工具有哪些

    mysql管理工具有哪些mysql管理工具有哪些mysql管理工具有哪些mysql管理工具有哪些

    mysql管理工具有:1、Induction,是一款用于理解数据关系的开源管理工具;2、Pinba,是一种MySQL存储引擎工具;3、DB Ninja,是一款基于Web的MySQL数据库管理与开发应用程序;4、DBManager,是一款功能强大的数据管理应用程序;5、MyWebSQL,可管理基于We…

    2026年8月30日 用户投稿
    000
  • mysql怎么取字符串前几位

    mysql怎么取字符串前几位mysql怎么取字符串前几位mysql怎么取字符串前几位mysql怎么取字符串前几位

    3种提取方法:1、使用SUBSTRING()函数,可从字符串头部开始截取指定长度的子字符串,语法“UBSTRING(字符串,1,子串长度)”。2、使用left()函数,可从字符串开头截取指定长度的子字符串并返回,语法“LEFT(字符串,子串长度)”。3、使用substr()函数,可从字符串开头截取指…

    2026年8月30日 用户投稿
    300
  • mysql可以创建联合索引吗

    mysql可以创建联合索引吗mysql可以创建联合索引吗mysql可以创建联合索引吗mysql可以创建联合索引吗

    mysql可以创建联合索引。MySQL允许用户创建一个最多包含16列的联合索引,创建方法有两个:1、创建表时创建,语法“CREATE TABLE 表名 (列名1 类型 PRIMARY KEY,列名2 类型,列名3 类型,…INDEX 索引名 (列名2,列名3…));”;2、修…

    2026年8月30日 用户投稿
    300
  • mysql日期用什么类型

    mysql日期用什么类型mysql日期用什么类型mysql日期用什么类型mysql日期用什么类型

    有5种类型:1、YEAR,用于表示年,格式为“YYYY”;2、TIME,用于只需要时间信息的值,格式为“HH:MM:SS”;3、DATE,用于仅需要日期值时,格式为“YYYY-MM-DD”;4、DATETIME,用于需要同时包含日期和时间信息的值,格式“YYYY-MM-DD HH:MM:SS”;5、…

    2026年8月30日 用户投稿
    200
  • mysql int是什么

    在mysql中,int是标准整数类型,可以代表普通大小的整数。int数据类型占4个字节,可以是有符号和无符号的,有符号时的存储范围为“-2147483648~2147483647”,无符号时的存储范围为“0~4294967295”;设置int类型的字段可以具有AUTO_INCREMENT属性,实现序…

    2026年8月30日
    300
  • Sublime结合Python批量写入MySQL数据_适合接口爬虫日志自动化记录

    Sublime结合Python批量写入MySQL数据_适合接口爬虫日志自动化记录Sublime结合Python批量写入MySQL数据_适合接口爬虫日志自动化记录Sublime结合Python批量写入MySQL数据_适合接口爬虫日志自动化记录Sublime结合Python批量写入MySQL数据_适合接口爬虫日志自动化记录

    用sublime text搭配python脚本能高效批量写入mysql数据,实现接口爬虫日志的自动化记录。1.使用sublime text轻便快捷,配合pymysql等库快速编写脚本,并支持直接运行;2.采用executemany()方法批量插入数据,显著提升效率,避免单条insert性能差的问题;…

    2026年8月30日 用户投稿
    300
  • mysql中clob和blob的区别是什么

    mysql中clob和blob的区别:1、含义不同,clob指代的是字符大对象,而blob指代的是二进制大对象;2、作用不同,clob在数据库中通常用来存储大量的文本数据,即存储字符数据,而blob用于存储二进制数据或文件,常常为图片或音频。 本教程操作环境:windows7系统、mysql8版本、…

    2026年8月30日
    100
  • mysql怎么将字符串转为datetime类型

    mysql怎么将字符串转为datetime类型mysql怎么将字符串转为datetime类型mysql怎么将字符串转为datetime类型mysql怎么将字符串转为datetime类型

    两种转换方法:1、使用str_to_date()函数,可以格式化字符串,根据指定格式将其转为日期时间值,语法“str_to_date(字符串值, 转换格式)”。2、使用CAST()函数,可以将指定字符串值转换为datetime数据类型,语法“CAST(字符串值 AS datetime)”。 本教程操…

    2026年8月30日 用户投稿
    100
  • laravel框架支持的几种数据库系统

    Laravel框架支持MySQL、PostgreSQL、MariaDB、SQL Server、SQLite和Oracle Database等数据库系统。选择数据库系统取决于特定应用程序的规模、性能、特性、成本和支持需求。 Laravel 框架支持的数据库系统 Laravel 是一个 PHP Web …

    2026年8月30日
    100
  • 怎么查看mysql是多少位

    怎么查看mysql是多少位怎么查看mysql是多少位怎么查看mysql是多少位怎么查看mysql是多少位

    查看mysql位数的两种方法:1、在cmd命令窗口中,使用cd命令进入mysql安装目录的bin目录中,再执行“mysql -V”或“mysql –version”命令,即可在输出结果中查看到位数信息。2、在mysql控制台中,执行“show variables like ‘…

    2026年8月30日 用户投稿
    100
  • laravel支持几种数据库

    Laravel 支持多种数据库连接,包括:MySQL、PostgreSQL、SQLite、SQL Server、MariaDB、MongoDB 和 Redis。要连接到数据库,您需要在 .env 文件中设置配置并使用 DB 外观进行连接。 Laravel 支持的数据库 Laravel 是一个 PHP…

    2026年8月30日
    100
  • mysql是否支持分区

    mysql是否支持分区mysql是否支持分区mysql是否支持分区mysql是否支持分区

    mysql从5.1版本开始支持分区功能。MySQL5.1中分区表达式必须是整数,或者返回整数的表达式;而MySQL5.5中提供了非整数表达式分区的支持。MySQL数据库的分区是局部分区索引,一个分区中既存了数据,又放了索引;也就是说,每个区的聚集索引和非聚集索引都放在各自区的(不同的物理文件)。My…

    2026年8月30日 用户投稿
    200
  • mysql怎么查询字段名称

    mysql怎么查询字段名称mysql怎么查询字段名称mysql怎么查询字段名称mysql怎么查询字段名称

    查询方法:1、在cmd窗口中,执行“mysql -u root -p”命令登录MySQL数据库;2、使用USE命令切换到指定数据库下,语法“USE 数据库名;”;3、使用DESCRIBE或DESC命令来查询字段名称,语法“DESCRIBE 表名;”或“DESC 表名;”,输出结果是表格形式,展示了表…

    2026年8月30日 用户投稿
    100
  • mysql怎么删除数据库

    mysql怎么删除数据库mysql怎么删除数据库mysql怎么删除数据库mysql怎么删除数据库

    删除方法:1、使用“win+r”键打开“运行”窗口,输入“cmd”,回车进入cmd命令窗口;2、在cmd窗口中,执行“mysql -u root -p”命令登录MySQL服务器;3、执行“DROP DATABASE IF EXISTS 数据库名;”命令来删除指定数据库中的所有表并永久删除该数据库,“…

    2026年8月30日 用户投稿
    100
  • mysql怎么将值转换为二进制

    mysql怎么将值转换为二进制mysql怎么将值转换为二进制mysql怎么将值转换为二进制mysql怎么将值转换为二进制

    3种转换方法:1、使用BIN()函数,可以返回指定数字的二进制值的字符串表示形式,语法“BIN(number)”,参数“number”是一个长整型(BIGINT)数。2、使用CONV()函数,可将一个进制转为另一个进制,语法“CONV(number,10,2)”,能返回指定数字的二进制值。3、使用B…

    2026年8月30日 用户投稿
    500
  • 一起聊聊MySQL全局锁

    本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于全局锁的相关问题,全局锁就是对整个数据库加锁。当我们对数据库加了读锁之后,其他任何的请求都不能对数据库加写锁了,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 数据库设计的初衷是处理并发问题的,作为多用户共享的资源,…

    2026年8月30日
    500
  • mysql中sum()函数怎么用

    mysql中sum()函数怎么用mysql中sum()函数怎么用mysql中sum()函数怎么用mysql中sum()函数怎么用

    在mysql中,sum()函数用于计算一组值或表达式的总和,语法为“SUM(DISTINCT expression)”,DISTINCT运算符允许计算集合中的不同值。sum()函数需要配合SELECT语句一起使用,如果在没有返回匹配行SELECT语句中使用SUM()函数,则SUM()函数会返回NUL…

    2026年8月30日 用户投稿
    000
  • Sublime连接Docker MySQL容器数据库_支持容器化开发环境统一配置

    Sublime连接Docker MySQL容器数据库_支持容器化开发环境统一配置Sublime连接Docker MySQL容器数据库_支持容器化开发环境统一配置Sublime连接Docker MySQL容器数据库_支持容器化开发环境统一配置Sublime连接Docker MySQL容器数据库_支持容器化开发环境统一配置

    要使用 sublime 连接运行在 docker 容器中的 mysql 数据库,首先要确保容器配置正确并开放远程访问权限。具体步骤包括:1. 启动容器时添加 -p 3306:3306 参数实现端口映射;2. 创建允许从外部连接的 mysql 用户,如 ‘root’@&#821…

    2026年8月30日 用户投稿
    000
  • 怎么让mysql不区分大小写

    让mysql不区分大小写的方法:1、进入mysql的安装目录,找到并打开配置文件“my.ini”;2、在配置文件的最后一行加上“lower_case_table_names=1”语句,设置大小写敏感参数“lower_case_table_names”,让mysql对大小写不敏感;3、重启mysql服…

    2026年8月30日
    000
  • mysql的安装路径怎么查看

    mysql的安装路径怎么查看mysql的安装路径怎么查看mysql的安装路径怎么查看mysql的安装路径怎么查看

    查看方法:1、鼠标右击“计算机”图标,在打开的菜单中点击“管理”;2、依次点击“服务和应用程序”-“服务”;3、在右侧服务列表中,找到mysql服务;4、选中mysql服务,点击鼠标右键,在打开的菜单中选择“属性”;5、在“mysql属性”弹窗中,查看“可执行文件路径”选项的值即可,该选项的值就是M…

    2026年8月30日 用户投稿
    700

发表回复

登录后才能评论
关注微信