无论是数据库管理、表结构操作,还是数据增删改查,MySQL都提供了全面的语句支持
为了帮助大家更好地理解和使用MySQL,本文将对MySQL中的常见语句进行详尽的介绍,并附上注释说明
一、数据库操作语句 1. 查看所有数据库 sql SHOW DATABASES; 注释:此语句用于列出MySQL服务器上的所有数据库
2. 创建数据库 sql CREATE DATABASE database_name CHARSET=utf8; 注释:创建一个新的数据库,`database_name`为数据库的名称,`CHARSET=utf8`指定数据库的字符集为UTF-8,支持多语言字符
3. 使用数据库 sql USE database_name; 注释:选择当前操作的数据库,`database_name`为要使用的数据库名称
4. 删除数据库 sql DROP DATABASE database_name; 注释:删除指定的数据库及其中的所有数据,`database_name`为要删除的数据库名称
此操作不可回滚,需谨慎使用
二、数据表操作语句 1. 查看当前数据库的所有表 sql SHOW TABLES; 注释:列出当前数据库中的所有表
2. 创建表 sql CREATE TABLE table_name( column1 datatype constraints, column2 datatype constraints, ... ); 注释:创建一个新的表,table_name为表的名称,`column1`、`column2`等为列名,`datatype`为数据类型,`constraints`为约束条件(如主键、外键等)
示例: sql CREATE TABLE students( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, age INT UNSIGNED, height DECIMAL(5,2) ); 注释:创建一个名为students的表,包含`id`(自增主键)、`name`(非空字符串)、`age`(无符号整数)、`height`(保留两位小数的小数)四个字段
3. 查看表结构 sql DESCRIBE table_name; 或 sql DESC table_name; 注释:显示指定表的结构信息,包括列名、数据类型、是否为空、主键等
4. 删除表 sql DROP TABLE table_name; 注释:删除指定的表及其中的数据,`table_name`为要删除的表名称
此操作不可回滚,需谨慎使用
5. 修改表结构 -添加新列 sql ALTER TABLE table_name ADD COLUMN column_name datatype; 注释:在指定表中添加一个新的列,`column_name`为新列的名称,`datatype`为新列的数据类型
-修改列类型 sql ALTER TABLE table_name MODIFY COLUMN column_name new_datatype; 注释:修改指定表中列的数据类型,`column_name`为要修改的列的名称,`new_datatype`为新的数据类型
-删除列 sql ALTER TABLE table_name DROP COLUMN column_name; 注释:删除指定表中的列,column_name为要删除的列的名称
-修改列名及类型 sql ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name new_datatype; 注释:修改指定表中列的名称和数据类型,`old_column_name`为原列名,`new_column_name`为新列名,`new_datatype`为新的数据类型
三、数据操作语句 1.插入数据 sql INSERT INTO table_name(column1, column2,...) VALUES(value1, value2,...); 注释:向指定表中插入一条记录,column1、`column2`等为列名,`value1`、`value2`等为对应的值
示例: sql INSERT INTO students(name, age, height) VALUES(小明,22,168.50); 注释:向students表中插入一条记录,`name`为小明,`age`为22,`height`为168.50
2. 查询数据 sql SELECT column1, column2, ... FROM table_name WHERE condition; 注释:从指定表中查询数据,column1、`column2`等为要查询的列名,`table_name`为表名,`condition`为查询条件(可选)
示例: sql SELECT - FROM students WHERE age > 20; 注释:查询students表中年龄大于20的所有记录
3. 更新数据 sql UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; 注释:更新指定表中符合条件的数据行,`column1`、`column2`等为列名,`value1`、`value2`等为新的值,`condition`为更新条件
示例: sql UPDATE students SET age =23 WHERE name = 小明; 注释:将students表中name为小明的记录的`age`更新为23
4. 删除数据 sql DELETE FROM table_name WHERE condition; 注释:删除指定表中符合条件的数据行,`table_name`为表名,`condition`为删除条件
示例: sql DELETE FROM students WHERE id =1; 注释:删除students表中id为1的记录
5. 清空表数据 sql TRUNCATE TABLE table_name; 注释:删除指定表中的所有数据,但不会删除表结构
此操作比`DELETE`更快,且不支持回滚
四、高级查询语句 1.排序 sql SELECT column1, column2, ... FROM table_name ORDER BY column_name【ASC|DESC】; 注释:对查询结果进行排序,ASC表示升序,`DESC`表示降序
2. 分页 sql SELECT column1, column2, ... FROM table_name LIMIT offset, row_count; 注释:实现分页查询,offset为起始位置(从0开始),`row_count`为每页显示的记录数
3.聚合函数 -COUNT():计算行数
sql SELECT COUNT() FROM table_name; 注释:返回表中记录的总数
-SUM():计算总和
sql SELECT SU