Mysql最常用的基本语句

要全面介绍 MySQL 中的所有常用语句,我们需要涵盖以下几大类:

  1. 数据定义语言(DDL, Data Definition Language):创建和修改数据库结构的语句。
  2. 数据操作语言(DML, Data Manipulation Language):用于查询和更改数据库中数据的语句。
  3. 数据控制语言(DCL, Data Control Language):管理数据库用户权限的语句。
  4. 事务控制语言(TCL, Transaction Control Language):管理事务处理的语句。

进入mysql shell

mysql -u root -p

1. 数据定义语言 (DDL)

1.1 CREATE 语句

CREATE 语句用于创建数据库、表、视图、索引等对象。

  • 创建数据库

    CREATE DATABASE my_database;
    
  • 创建表

    CREATE TABLE employees (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(100) NOT NULL,
        age INT,
        position VARCHAR(100),
        hire_date DATE,
        salary DECIMAL(10, 2)
    );
    
  • 创建索引

    CREATE INDEX idx_name ON employees (name);
    

1.2 ALTER 语句

ALTER 语句用于修改现有数据库对象的结构。

  • 添加列

    ALTER TABLE employees ADD COLUMN phone VARCHAR(20);
    
  • 修改列的数据类型

    ALTER TABLE employees MODIFY COLUMN age SMALLINT;
    
  • 重命名列

    ALTER TABLE employees CHANGE COLUMN phone contact_number VARCHAR(20);
    
  • 删除列

    ALTER TABLE employees DROP COLUMN contact_number;
    

1.3 DROP 语句

DROP 语句用于删除数据库对象,如数据库、表、视图等。

  • 删除表

    DROP TABLE employees;
    
  • 删除数据库

    DROP DATABASE my_database;
    
  • 删除索引

    DROP INDEX idx_name ON employees;
    

1.4 TRUNCATE 语句

TRUNCATE 语句用于删除表中的所有数据,但保留表结构。

TRUNCATE TABLE employees;

2. 数据操作语言 (DML)

2.1 SELECT 语句

SELECT 语句用于从一个或多个表中检索数据。

  • 查询所有数据

    SELECT * FROM employees;
    
  • 带条件的查询

    SELECT name, age FROM employees WHERE age > 30;
    
  • 聚合查询

    SELECT position, AVG(salary) AS avg_salary FROM employees GROUP BY position;
    
  • 连接查询(内连接和左连接)

    SELECT e.name, d.department_name
    FROM employees e
    INNER JOIN departments d ON e.department_id = d.id;
    
    SELECT e.name, d.department_name
    FROM employees e
    LEFT JOIN departments d ON e.department_id = d.id;
    
  • 子查询

    SELECT name FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);
    

2.2 INSERT 语句

INSERT 语句用于向表中插入新数据。

  • 插入单行数据

    INSERT INTO employees (name, age, position, hire_date, salary)
    VALUES ('John Doe', 30, 'Developer', '2022-01-01', 60000.00);
    
  • 插入多行数据

    INSERT INTO employees (name, age, position, hire_date, salary)
    VALUES 
      ('Jane Smith', 28, 'Designer', '2023-01-01', 55000.00),
      ('Mike Johnson', 35, 'Manager', '2021-05-10', 80000.00);
    

2.3 UPDATE 语句

UPDATE 语句用于修改表中的现有数据。

  • 更新特定行的数据

    UPDATE employees SET salary = salary * 1.10 WHERE name = 'John Doe';
    
  • 更新所有行的数据

    UPDATE employees SET age = age + 1;
    

2.4 DELETE 语句

DELETE 语句用于删除表中的数据。

  • 删除特定行的数据

    DELETE FROM employees WHERE name = 'John Doe';
    
  • 删除所有行的数据

    DELETE FROM employees;
    

3. 数据控制语言 (DCL)

3.1 GRANT 语句

GRANT 语句用于授予用户对数据库对象的权限。

GRANT SELECT, INSERT, UPDATE ON my_database.employees TO 'user'@'localhost';

3.2 REVOKE 语句

REVOKE 语句用于撤销用户对数据库对象的权限。

REVOKE INSERT, UPDATE ON my_database.employees FROM 'user'@'localhost';

4. 事务控制语言 (TCL)

4.1 START TRANSACTION, COMMIT 和 ROLLBACK 语句

这些语句用于管理数据库事务,确保数据的一致性和完整性。

  • 开始事务

    START TRANSACTION;
    
  • 提交事务

    COMMIT;
    
  • 回滚事务

    ROLLBACK;
    

4.2 SAVEPOINT 和 ROLLBACK TO SAVEPOINT

SAVEPOINT 语句用于在事务中创建一个保存点,可以回滚到该点而不影响整个事务。

  • 创建保存点

    SAVEPOINT savepoint1;
    
  • 回滚到保存点

    ROLLBACK TO SAVEPOINT savepoint1;
    

5. 索引和视图操作

5.1 CREATE VIEW 语句

CREATE VIEW 语句用于创建一个视图(虚拟表)。

CREATE VIEW employee_view AS
SELECT name, position, salary FROM employees WHERE salary > 50000;

5.2 DROP VIEW 语句

DROP VIEW 语句用于删除视图。

DROP VIEW employee_view;

6. 实用程序命令

6.1 SHOW 语句

SHOW 语句用于显示数据库的状态信息,如表、列、索引等。

  • 显示所有数据库

    SHOW DATABASES;
    
  • 显示当前数据库的所有表

    SHOW TABLES;
    
  • 显示表的结构

    SHOW COLUMNS FROM employees;
    

6.2 DESCRIBE 语句

DESCRIBE 语句用于显示表结构的详细信息。

DESCRIBE employees;

6.3 打开和关闭Mysql服务

  • Windows
net start mysql		// 打开MySQL服务
net stop mysql 		// 关闭MySQL服务
  • Linux
sudo systemctl start mysql
sudo systemctl stop mysql
sudo systemctl restart mysql
sudo service mysql start
sudo service mysql stop

总结

这些 SQL 语句涵盖了 MySQL 中的所有主要操作。通过掌握这些语句,你可以有效地管理数据库的创建、修改、查询、控制和优化。每种类型的语句都有其特定的用途和功能,它们共同组成了一个完整的数据库管理系统操作集。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值