MySQL基础语句

1. 数据库操作

创建数据库

sql

复制

复制代码
CREATE DATABASE database_name;

示例:

sql

复制

复制代码
CREATE DATABASE company;
删除数据库

sql

复制

复制代码
DROP DATABASE database_name;

示例:

sql

复制

复制代码
DROP DATABASE company;
查看所有数据库

sql

复制

复制代码
SHOW DATABASES;
选择数据库

sql

复制

复制代码
USE database_name;

示例:

sql

复制

复制代码
USE company;

2. 表操作

创建表

sql

复制

复制代码
CREATE TABLE table_name (
    column1 datatype constraints,
    column2 datatype constraints,
    ...
) COMMENT '表注释';

示例:

sql

复制

复制代码
CREATE TABLE employees (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT '员工编号',
    name VARCHAR(50) NOT NULL COMMENT '姓名',
    age TINYINT UNSIGNED COMMENT '年龄',
    salary DECIMAL(10, 2) COMMENT '薪水'
) COMMENT '员工表';
查看所有表

sql

复制

复制代码
SHOW TABLES;
查看表结构

sql

复制

复制代码
DESC table_name;

示例:

sql

复制

复制代码
DESC employees;
删除表

sql

复制

复制代码
DROP TABLE table_name;

示例:

sql

复制

复制代码
DROP TABLE employees;
修改表结构
  • 添加列:

    sql

    复制

    复制代码
    ALTER TABLE table_name ADD column_name datatype;

    示例:

    sql

    复制

    复制代码
    ALTER TABLE employees ADD email VARCHAR(100);
  • 删除列:

    sql

    复制

    复制代码
    ALTER TABLE table_name DROP COLUMN column_name;

    示例:

    sql

    复制

    复制代码
    ALTER TABLE employees DROP COLUMN email;
  • 修改列数据类型:

    sql

    复制

    复制代码
    ALTER TABLE table_name MODIFY column_name new_datatype;

    示例:

    sql

    复制

    复制代码
    ALTER TABLE employees MODIFY name VARCHAR(100);
  • 重命名表:

    sql

    复制

    复制代码
    RENAME TABLE old_table_name TO new_table_name;

    示例:

    sql

    复制

    复制代码
    RENAME TABLE employees TO staff;

3. 数据操作

插入数据

sql

复制

复制代码
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

示例:

sql

复制

复制代码
INSERT INTO employees (name, age, salary)
VALUES ('张三', 25, 5000.00);
查询数据
  • 查询所有数据:

    sql

    复制

    复制代码
    SELECT * FROM table_name;

    示例:

    sql

    复制

    复制代码
    SELECT * FROM employees;
  • 查询特定列:

    sql

    复制

    复制代码
    SELECT column1, column2 FROM table_name;

    示例:

    sql

    复制

    复制代码
    SELECT name, salary FROM employees;
  • 条件查询:

    sql

    复制

    复制代码
    SELECT * FROM table_name WHERE condition;

    示例:

    sql

    复制

    复制代码
    SELECT * FROM employees WHERE age > 30;
  • 排序查询:

    sql

    复制

    复制代码
    SELECT * FROM table_name ORDER BY column_name ASC|DESC;

    示例:

    sql

    复制

    复制代码
    SELECT * FROM employees ORDER BY salary DESC;
  • 限制查询结果:

    sql

    复制

    复制代码
    SELECT * FROM table_name LIMIT number;

    示例:

    sql

    复制

    复制代码
    SELECT * FROM employees LIMIT 5;
更新数据

sql

复制

复制代码
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

示例:

sql

复制

复制代码
UPDATE employees
SET salary = 6000.00
WHERE name = '张三';
删除数据

sql

复制

复制代码
DELETE FROM table_name WHERE condition;

示例:

sql

复制

复制代码
DELETE FROM employees WHERE id = 1;

4. 约束

主键约束

sql

复制

复制代码
CREATE TABLE table_name (
    id INT PRIMARY KEY,
    ...
);
唯一约束

sql

复制

复制代码
CREATE TABLE table_name (
    email VARCHAR(100) UNIQUE,
    ...
);
非空约束

sql

复制

复制代码
CREATE TABLE table_name (
    name VARCHAR(50) NOT NULL,
    ...
);
外键约束

sql

复制

复制代码
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    user_id INT,
    FOREIGN KEY (user_id) REFERENCES users(id)
);

5. 其他常用操作

清空表数据

sql

复制

复制代码
TRUNCATE TABLE table_name;

示例:

sql

复制

复制代码
TRUNCATE TABLE employees;
复制表结构

sql

复制

复制代码
CREATE TABLE new_table LIKE old_table;

示例:

sql

复制

复制代码
CREATE TABLE employees_backup LIKE employees;
复制表数据

sql

复制

复制代码
INSERT INTO new_table SELECT * FROM old_table;

示例:

sql

复制

复制代码
INSERT INTO employees_backup SELECT * FROM employees;

6. 查询优化

添加索引

sql

复制

复制代码
CREATE INDEX index_name ON table_name (column_name);

示例:

sql

复制

复制代码
CREATE INDEX idx_name ON employees (name);
查看索引

sql

复制

复制代码
SHOW INDEX FROM table_name;

示例:

sql

复制

复制代码
SHOW INDEX FROM employees;
删除索引

sql

复制

复制代码
DROP INDEX index_name ON table_name;

示例:

sql

复制

复制代码
DROP INDEX idx_name ON employees;

7. 用户和权限管理

创建用户

sql

复制

复制代码
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

示例:

sql

复制

复制代码
CREATE USER 'admin'@'localhost' IDENTIFIED BY '123456';
授予权限

sql

复制

复制代码
GRANT permission ON database_name.table_name TO 'username'@'host';

示例:

sql

复制

复制代码
GRANT ALL PRIVILEGES ON company.* TO 'admin'@'localhost';
撤销权限

sql

复制

复制代码
REVOKE permission ON database_name.table_name FROM 'username'@'host';

示例:

sql

复制

复制代码
REVOKE ALL PRIVILEGES ON company.* FROM 'admin'@'localhost';
刷新权限

sql

复制

复制代码
FLUSH PRIVILEGES;

以上是 MySQL 的基本语句,涵盖了数据库、表、数据的操作。如果你有更具体的需求或问题,可以随时告诉我!

相关推荐
计算机安禾6 小时前
【数据库系统原理】第19篇:计算机存储层次结构与数据库文件的物理组织
数据库·oracle
JAVA面经实录9176 小时前
操作系统面试题
java·服务器·数据库·计算机网络·面试
摇滚侠7 小时前
mariadb-libs 被 mysql-community-libs-5.7.28-1.el7.x86_64 取代
数据库·mysql·mariadb
DIY源码阁7 小时前
JavaSwing饮品管理系统 - MySQL版
java·数据库·mysql·eclipse
专注搞钱7 小时前
GPT-4o写设备Recipe:从3小时到10分钟
数据库·人工智能·gpt·半导体
东风破1378 小时前
达梦数据库实战:备份恢复与数据迁移全攻略(实例初始化、服务注册、路径迁移)
数据库·chrome
SelectDB技术团队8 小时前
2026 SelectDB AI 产品发布会:Agent Native 数据基础设施能力全景发布
数据库·人工智能·agent·apache doris·selectdb
爱吃羊的老虎9 小时前
【数据库】模块一:数据库基础与关系代数
数据库
dishugj9 小时前
iSCSI + Multipath + ASM:Oracle RAC 共享存储技术链详解
数据库·oracle
yoothey9 小时前
MySQL事务机制解析 - 面试高分知识点
数据库·mysql·面试