文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL 数据库常用命令大全(完整版)

2023-09-03 15:11

关注

文章目录

1. MySQL命令

2. MySQL基础命令

3. MySQL命令简介

以下是一些常用的MySQL命令:

这些命令只是MySQL命令的一部分,还有更多的命令可以用于管理和操作MySQL数据库。

4. MySQL常用命令

4.1 MySQL准备篇

4.1.1 启动和停止MySQL服务

net start mysql // 启动mysql服务net stop mysql // 停止mysql服务

4.1.2 修改MySQL账户密码

mysql -u root -p123456

注意:mysql -uroot -p你的MySQL密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

4.1.3 MySQL的登陆和退出

mysql -uroot -p123456

注意:mysql -uroot -p你的MySQL密码

在这里插入图片描述

exitquit

二选一

4.1.4 查看MySQL版本

SELECT VERSION();

4.2 DDL篇(数据定义)

4.2.1 查询数据库

SHOW DATABASES;

4.2.2 创建数据库

CREATE DATABASE 数据库名称;
CREATE DATABASE IF NOT EXISTS 数据库名称;

4.2.3 使用数据库

USE 数据库名称;
SELECT DATABASE();

4.2.4 删除数据库

DROP DATABASE 数据库名称;
DROP DATABASE IF EXISTS 数据库名称;

4.2.5 查询表

SHOW TABLES;
DESC 表名称;

4.2.6 创建表

CREATE TABLE 表名 (字段名1 数据类型1,字段名2 数据类型2,…字段名n 数据类型n);
create table tb_user (id int,username varchar(20),password varchar(32));

注意:最后一行末尾,不能加逗号

4.2.7 修改表

ALTER TABLE 表名 RENAME TO 新的表名;-- 将表名student修改为stualter table student rename to stu;
ALTER TABLE 表名 ADD 列名 数据类型;-- 给stu表添加一列address,该字段类型是varchar(50)alter table stu add address varchar(50);
ALTER TABLE 表名 MODIFY 列名 新数据类型;-- 将stu表中的address字段的类型改为 char(50)alter table stu modify address char(50);
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;-- 将stu表中的address字段名改为 addr,类型改为varchar(50)alter table stu change address addr varchar(50);
ALTER TABLE 表名 DROP 列名;-- 将stu表中的addr字段 删除alter table stu drop addr;

4.2.8 删除表

DROP TABLE 表名;
DROP TABLE IF EXISTS 表名;

4.2.9 查看数据表结构

desc [表名];

4.2.10 查看建表语句

SHOW CREATE TABLE [表名]

4.2.11 增加、删除和修改字段自增长

(1)增加自增长字段

ALTER TABLE table_name ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY;

注意:table_name代表您要增加自增长字段的表名,id代表您要增加的自增长字段名。

(2)修改自增长字段

ALTER TABLE table_name CHANGE column_name new_column_name INT NOT NULL AUTO_INCREMENT PRIMARY KEY;

(3)删除自增长字段

ALTER TABLE table_name MODIFY column_name datatype;

注意:table_name代表要删除自增长字段的表名,column_name代表要删除的自增长字段名,datatype代表要设置的数据类型。

4.2.12 增加、删除和修改数据表的列

(1)增加数据表的列

ALTER TABLE <表名> ADD COLUMN <列名> <数据类型>;ALTER TABLE student ADD COLUMN age INT;

上面的命令会在student表中增加一个名为ageINT类型列。

(2)删除数据表的列

ALTER TABLE <表名> DROP COLUMN <列名>;ALTER TABLE student DROP COLUMN age;

上面的命令会从student表中删除名为age的列。

(3)修改数据表的列

ALTER TABLE <表名> MODIFY COLUMN <列名> <数据类型>;ALTER TABLE student MODIFY COLUMN age VARCHAR(10);

上面的命令会将student表中的age列的数据类型修改为VARCHAR(10)

4.2.13 添加、删除和查看索引

(1)添加索引:

ALTER TABLE table_name ADD INDEX index_name (column_name);

其中,table_name是表的名称,index_name是索引的名称,
column_name是要添加索引的列的名称。

ALTER TABLE users ADD INDEX idx_email (email);

(2)删除索引:

ALTER TABLE table_name DROP INDEX index_name;

其中,table_name是表的名称,index_name是要删除的索引的名称。

ALTER TABLE users DROP INDEX idx_email;

(3)查看索引:

SHOW INDEX FROM table_name;

其中,table_name是表的名称。该命令将返回包含索引信息的结果集。

SHOW INDEX FROM users;

4.2.14 创建临时表

CREATE TEMPORARY TABLE temp_table_name (      column1 datatype,      column2 datatype,      ...  );

其中,temp_table_name是您要创建的临时表的名称。您可以指定表的列和数据类型,就像创建常规表一样。

CREATE TEMPORARY TABLE temp_users (      id INT PRIMARY KEY,      name VARCHAR(50),      email VARCHAR(100)  );

上述命令将创建一个名为temp_users的临时表,其中包含id、name和email列。id列是主键。

4.2.15 创建内存表

CREATE TABLE mem_table_name (      column1 datatype,      column2 datatype,      ...  ) ENGINE=MEMORY;

其中,mem_table_name是您要创建的内存表的名称。您可以指定表的列和数据类型,就像创建常规表一样。通过将ENGINE选项设置为MEMORY,该表将被创建为内存表。

以下是一个具体的例子:

CREATE TABLE mem_users (      id INT PRIMARY KEY,      name VARCHAR(50),      email VARCHAR(100)  ) ENGINE=MEMORY;

上述命令将创建一个名为mem_users的内存表,其中包含id、name和email列。id列是主键。

4.2.16 查看数据库数据表存储位置

要查看MySQL数据库中数据表的存储位置,您可以执行以下步骤:

mysql -u username -p

其中,username是您的MySQL用户名。系统将提示您输入密码。

选择要查看存储位置的数据库。使用以下命令选择数据库:

USE database_name;

其中,database_name是您要查看存储位置的数据库的名称。

SHOW TABLE STATUS;

该命令将返回包含有关数据库中所有数据表的信息的结果集。其中,可以关注File列,它将显示数据表的存储位置。

SHOW TABLE STATUS LIKE 'table_name';

这将返回特定数据表的详细信息,包括存储位置。

4.2.17 清空表内容

TRUNCATE TABLE table_name;

其中,table_name是要清空内容的表的名称。

该命令将删除表中的所有数据,但保留表的结构。换句话说,它将删除表中的所有行,但保留表的主键、索引和其他属性。

4.3 DML篇(数据操作)

4.3.1 数据增加

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

例如,要在名为users的表中添加一条记录,可以执行以下命令:

INSERT INTO users (id, name, email) VALUES (1, 'John Doe', 'john@example.com');

4.3.2 数据删除

DELETE FROM table_name WHERE condition;

例如,要删除名为users表中id为1的记录,可以执行以下命令:

DELETE FROM users WHERE id = 1;

4.3.3 数据修改

UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;

例如,要修改名为users表中name为’John Doe’的记录的email,可以执行以下命令:

UPDATE users SET email = 'newemail@example.com' WHERE name = 'John Doe';

4.4 DQL篇(数据查询)

4.4.1 检索所有数据

SELECT * FROM table_name;

这个命令将返回表中的所有记录。

4.4.2 指定要检索的列

SELECT column1, column2 FROM table_name;

这个命令将返回指定的列,例如column1和column2。

4.4.3 使用WHERE子句来指定条件

SELECT * FROM table_name WHERE condition;

这个命令将返回满足指定条件的所有记录。例如,SELECT * FROM users WHERE age > 18 将返回年龄大于 18 的所有用户记录。

4.4.4 使用聚合函数来计算统计数据

SELECT COUNT(*) FROM table_name;

这个命令将返回表中的记录数。还可以使用其他聚合函数,如SUM、AVG、MAX和MIN等。

4.4.5 使用GROUP BY来分组数据

SELECT column1, COUNT(*) FROM table_name GROUP BY column1;

这个命令将按column1分组,并计算每个组中的记录数。

4.4.6 使用ORDER BY来排序数据

SELECT * FROM table_name ORDER BY column1;

这个命令将按column1的升序排序所有记录。还可以使用DESC关键字来按降序排序。#### 4.4.7 使用LIMIT来限制返回的记录数

SELECT * FROM table_name LIMIT 10;

这个命令将返回表中的前10条记录。还可以使用OFFSET关键字来指定从哪一行开始返回记录。

4.5 DCL篇(数据控制)

4.5.1 GRANT命令:授予访问权限

GRANT 权限列表 ON 对象类型 对象名称 TO 用户名@用户地址 IDENTIFIED BY用户口令;

例如,给用户test授予对所有数据库的完全访问权限:

GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY 'password';

4.5.2 REVOKE命令:撤销访问权限

REVOKE 权限列表 ON 对象类型 对象名称 FROM 用户名@用户地址;

例如,撤销用户test对所有数据库的访问权限:

REVOKE ALL PRIVILEGES ON *.* FROM 'test'@'localhost';

4.5.3 SET PASSWORD命令:修改用户口令

SET PASSWORD FOR 用户名@用户地址 = SET PASSWORD BY PASSWORD ('新口令');

例如,将用户test的口令修改为新口令:

SET PASSWORD FOR 'test'@'localhost'=SET PASSWORD BY PASSWORD ('newpassword');

4.5.4 FLUSH命令:刷新权限

FLUSH PRIVILEGES;

例如,刷新权限使应用立即更改:

FLUSH PRIVILEGES;

来源地址:https://blog.csdn.net/weixin_61370021/article/details/130797638

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯