# 使用root用户登录
mysql -u root -p
# 使用指定用户登录指定数据库
mysql -u username -p database_name
MySQL数据库操作
sql复制代码
-- 显示所有数据库
SHOW DATABASES;
-- 创建数据库
CREATE DATABASE database_name;
-- 使用数据库
USE database_name;
-- 删除数据库
DROP DATABASE database_name;
-- 查看当前使用的数据库
SELECT DATABASE();
MySQL表操作
sql复制代码
-- 显示所有表
SHOW TABLES;
-- 创建表
CREATE TABLE table_name (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 查看表结构
DESC table_name;
-- 修改表
ALTER TABLE table_name ADD COLUMN new_column VARCHAR(50);
ALTER TABLE table_name MODIFY COLUMN column_name VARCHAR(100);
ALTER TABLE table_name DROP COLUMN column_name;
-- 删除表
DROP TABLE table_name;
MySQL数据操作
sql复制代码
-- 插入数据
INSERT INTO table_name (name, age, email)
VALUES ('张三', 25, '[email protected]');
-- 查询数据
SELECT * FROM table_name;
SELECT name, age FROM table_name WHERE age > 20;
-- 更新数据
UPDATE table_name SET age = 26 WHERE name = '张三';
-- 删除数据
DELETE FROM table_name WHERE id = 1;
-- 常用查询操作
-- 1. 条件查询
SELECT * FROM table_name WHERE age >= 20 AND age <= 30;
-- 2. 排序
SELECT * FROM table_name ORDER BY age DESC;
-- 3. 分组
SELECT age, COUNT(*) as count FROM table_name GROUP BY age;
-- 4. 限制结果数量
SELECT * FROM table_name LIMIT 10;
-- 5. 连接查询
SELECT a.*, b.department
FROM employees a
JOIN departments b ON a.dept_id = b.id;
MySQL用户管理
sql复制代码
-- 创建用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
-- 授予权限
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
GRANT SELECT, INSERT ON database_name.* TO 'username'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
-- 查看用户权限
SHOW GRANTS FOR 'username'@'localhost';
-- 撤销权限
REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'localhost';
-- 删除用户
DROP USER 'username'@'localhost';