菜鸟科技网

MySQL命令有哪些常用语法?

MySQL 是一种广泛使用的开源关系型数据库管理系统,其强大的命令行工具(MySQL Command-Line Client)允许用户通过 SQL 语句与数据库进行交互,掌握 MySQL 命令是数据库管理和开发的基础,本文将详细介绍常用的 MySQL 命令,包括数据库操作、表操作、数据操作、用户权限管理等,并通过示例和表格帮助理解。

MySQL命令有哪些常用语法?-图1
(图片来源网络,侵删)

连接到 MySQL 服务器是使用 MySQL 命令的第一步,在命令行中输入 mysql -u 用户名 -p,然后按提示输入密码。mysql -u root -p 会以 root 用户身份登录,登录成功后,可以使用 SHOW DATABASES; 命令查看所有数据库,返回结果是一个包含数据库名称的列表,如 information_schemamysqlperformance_schema 等,要选择一个数据库进行操作,使用 USE 数据库名; 命令,USE my_database;

创建数据库和表是数据库设计的基础,创建数据库的命令是 CREATE DATABASE 数据库名;CREATE DATABASE my_database;,如果数据库已存在且不想报错,可以添加 IF NOT EXISTS 子句,如 CREATE DATABASE IF NOT EXISTS my_database;,创建表时,需要定义表的列名、数据类型和约束,创建一个名为 users 的表,包含 id(整数,主键,自增)、name(字符串,非空)、email(字符串,唯一)和 created_at(日期时间),命令如下:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

MySQL 支持多种数据类型,包括整数类型(INTBIGINT)、字符串类型(VARCHARTEXT)、日期时间类型(DATEDATETIME)等,约束条件包括主键(PRIMARY KEY)、外键(FOREIGN KEY)、唯一(UNIQUE)、非空(NOT NULL)和默认值(DEFAULT)。

数据操作语言(DML)用于管理表中的数据,插入数据使用 INSERT INTO 命令,

MySQL命令有哪些常用语法?-图2
(图片来源网络,侵删)
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');

可以一次性插入多行数据:

INSERT INTO users (name, email) VALUES 
('Bob', 'bob@example.com'),
('Charlie', 'charlie@example.com');

查询数据使用 SELECT 命令,这是最常用的命令之一,查询 users 表的所有数据:

SELECT * FROM users;

指定查询列:

SELECT name, email FROM users;

使用 WHERE 子句进行条件查询:

MySQL命令有哪些常用语法?-图3
(图片来源网络,侵删)
SELECT * FROM users WHERE name = 'Alice';

排序结果使用 ORDER BY,例如按 id 降序排列:

SELECT * FROM users ORDER BY id DESC;

聚合函数如 COUNT()SUM()AVG()MAX()MIN() 可以用于计算统计数据,

SELECT COUNT(*) FROM users;

分组查询使用 GROUP BY 子句,例如按 name 分组并统计每个名字的数量:

SELECT name, COUNT(*) FROM users GROUP BY name;

更新数据使用 UPDATE 命令,例如将 name 为 'Alice' 的用户的 email 更新:

UPDATE users SET email = 'alice_new@example.com' WHERE name = 'Alice';

删除数据使用 DELETE 命令,例如删除 name 为 'Bob' 的用户:

DELETE FROM users WHERE name = 'Bob';

注意:DELETE 操作不可逆,建议在执行前使用 SELECT 确认条件。

数据定义语言(DDL)用于修改表结构,添加列使用 ALTER TABLE 命令,例如在 users 表中添加一个 age 列:

ALTER TABLE users ADD COLUMN age INT;

修改列的数据类型或约束:

ALTER TABLE users MODIFY COLUMN age INT NOT NULL;

删除列:

ALTER TABLE users DROP COLUMN age;

重命名表:

RENAME TABLE users TO customers;

删除表使用 DROP TABLE 命令,DROP TABLE customers;,如果表不存在会报错,可以添加 IF EXISTS 子句,删除数据库使用 DROP DATABASE 命令,DROP DATABASE my_database;,此操作会删除数据库中的所有表,需谨慎使用。

用户权限管理是数据库安全的重要部分,创建用户使用 CREATE USER 命令,

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';

授予权限使用 GRANT 命令,例如授予 new_usermy_database 的所有权限:

GRANT ALL PRIVILEGES ON my_database.* TO 'new_user'@'localhost';

刷新权限使更改生效:

FLUSH PRIVILEGES;

撤销权限使用 REVOKE 命令,例如撤销 new_user 的删除权限:

REVOKE DELETE ON my_database.* FROM 'new_user'@'localhost';

删除用户使用 DROP USER 命令,DROP USER 'new_user'@'localhost';

MySQL 还支持事务处理,确保数据的一致性,事务以 START TRANSACTIONBEGIN 开始,以 COMMIT 提交或 ROLLBACK 回滚。

START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;
COMMIT;

如果在执行过程中发生错误,可以使用 ROLLBACK 撤销所有更改。

以下是常用 MySQL 命令的总结表格:

命令类别 命令示例 说明
连接与退出 mysql -u root -p 连接到 MySQL 服务器
数据库操作 SHOW DATABASES; 显示所有数据库
CREATE DATABASE my_db; 创建数据库
USE my_db; 选择数据库
表操作 SHOW TABLES; 显示当前数据库的所有表
CREATE TABLE users (id INT PRIMARY KEY); 创建表
DROP TABLE users; 删除表
数据查询 SELECT * FROM users; 查询所有数据
SELECT name FROM users WHERE id = 1; 条件查询
数据插入 INSERT INTO users VALUES (1, 'Alice'); 插入数据
数据更新 UPDATE users SET name = 'Bob' WHERE id = 1; 更新数据
数据删除 DELETE FROM users WHERE id = 1; 删除数据
用户权限 GRANT SELECT ON my_db.* TO 'user'@'localhost'; 授予权限
FLUSH PRIVILEGES; 刷新权限

相关问答FAQs:

Q1: 如何查看 MySQL 数据库中某个表的结构?
A1: 可以使用 DESCRIBE 表名;SHOW COLUMNS FROM 表名; 命令查看表的结构。DESCRIBE users; 会返回 users 表的列名、数据类型、是否允许 NULL、键信息、默认值和额外信息。

Q2: 如何备份和恢复 MySQL 数据库?
A2: 备份数据库使用 mysqldump 命令,mysqldump -u root -p my_database > backup.sql 会将 my_database 备份到 backup.sql 文件中,恢复数据库时,先创建空数据库,然后使用 mysql -u root -p my_database < backup.sql 将备份文件导入数据库。

分享:
扫描分享到社交APP
上一篇
下一篇