MySQL数据库用法:基本用法
基本概念
关系型数据库:MySQL 是一种关系型数据库管理系统(RDBMS),它使用表格来存储数据,表与表之间可以通过关系进行数据的关联和操作,一个数据库可以包含一个或多个表。
表结构:表是数据库中的基本单位,每个表由行和列组成,行表示记录,列表示字段,每列都有一个名称和数据类型,用于定义该列存储的数据种类。
SQL语言:用于对MySQL数据库进行操作的结构化查询语言(SQL),包括数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)等。
关键字:MySQL有大量关键字,如SELECT、INSERT、UPDATE、DELETE等,这些关键字用于执行特定的操作。
标识符:用于命名数据库、表、列等对象,通常由字母、数字和下划线组成,且第一个字符不能是数字。
SQL语法规则
基础SQL指令:SQL语句通常以行为单位,每条语句以分号(;)例如,创建表时需要在语句末尾加上分号。
注释:单行注释以两个横杠(--)开始,多行注释则包裹在/* */之间。
标识符引用:如果标识符与关键字冲突或包含特殊字符,需要用反引号(`)引起来。
库操作
创建数据库:可以使用CREATE DATABASE命令创建一个新数据库。
CREATE DATABASE IF NOT EXISTS my_database;
此命令会在当前服务器上创建一个名为“my_database”的新数据库。
查看数据库:使用SHOW DATABASES命令查看所有可用的数据库。
SHOW DATABASES;
选择数据库:使用USE命令选择一个数据库作为当前操作的数据库。
USE my_database;
删除数据库:使用DROP DATABASE命令删除一个数据库。
DROP DATABASE my_database;
注意:此操作不可逆,请谨慎操作。
表操作
创建表:使用CREATE TABLE命令创建一个新表。
CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), age INT, gender VARCHAR(50) );
此命令创建了一个名为“students”的表,包含四个字段:id(主键)、name、age 和 gender。
查看表:使用SHOW TABLES命令查看当前数据库中的所有表。
SHOW TABLES;
描述表结构:使用DESCRIBE或SHOW COLUMNS命令查看表的结构。
DESCRIBE students;
修改表:使用ALTER TABLE命令修改表结构,例如添加新列:
ALTER TABLE students ADD COLUMN class VARCHAR(50);
删除表:使用DROP TABLE命令删除一个表。
DROP TABLE students;
注意:此操作不可逆,请谨慎操作。
数据操作
插入数据:使用INSERT INTO命令向表中插入数据。
INSERT INTO students (name, age, gender, class) VALUES ('John Doe', 20, 'Male', 'A');
查询数据:使用SELECT命令从表中检索数据。
SELECT * FROM students;
或者根据条件查询:
SELECT * FROM students WHERE age > 18;
更新数据:使用UPDATE命令更新表中的数据。
UPDATE students SET class = 'B' WHERE name = 'John Doe';
删除数据:使用DELETE命令删除表中的数据。
DELETE FROM students WHERE age < 18;
常用函数和操作
聚合函数:如COUNT()、AVG()、SUM()、MIN()、MAX()等,用于对一组值进行计算并返回单一的值。
SELECT AVG(age) FROM students;
此命令计算并返回学生的平均年龄。
排序和分组:使用ORDER BY和GROUP BY子句对结果集进行排序和分组。
SELECT class, COUNT(*) FROM students GROUP BY class;
此命令按班级对学生进行分组并统计每个班级的学生人数。
事务处理
事务的定义和管理:事务是一组操作的集合,这些操作要么全部成功,要么全部失败,MySQL通过START TRANSACTION、COMMIT和ROLLBACK等命令来管理事务。
START TRANSACTION; -执行一系列SQL操作 COMMIT; -如果一切正常,则提交事务 -或者在出现错误时回滚事务 ROLLBACK;
事务确保了数据库的一致性和完整性,即使在发生错误或系统崩溃的情况下也是如此。