
MySQL,作为一款开源的关系型数据库管理系统,凭借其高性能、稳定性和广泛的社区支持,成为了众多开发者和小型至大型企业的首选
无论是初学者还是经验丰富的开发者,掌握MySQL的基本语句都是进行数据管理和操作的基础
本文旨在通过系统介绍MySQL的基本语句,帮助读者快速上手,为深入学习和实践打下坚实的基础
一、MySQL简介与安装 MySQL由瑞典公司MySQL AB开发,后被Sun Microsystems收购,最终成为Oracle Corporation的一部分
它以结构化查询语言(SQL)作为标准数据库访问语言,支持多种操作系统,包括Windows、Linux和macOS等
安装MySQL: -Windows:访问MySQL官方网站下载MySQL Installer,按照向导完成安装
-Linux:在Ubuntu等基于Debian的系统上,可以使用`apt`命令安装,如`sudo apt-get install mysql-server`
-macOS:通过Homebrew安装,执行`brew install mysql`命令
安装完成后,启动MySQL服务,并通过命令行或图形化工具(如MySQL Workbench)连接到数据库服务器
二、数据库与表的基本操作 1. 创建数据库 使用`CREATE DATABASE`语句创建一个新的数据库
例如: sql CREATE DATABASE mydatabase; 2. 使用数据库 切换到指定的数据库: sql USE mydatabase; 3. 创建表 表是数据库中存储数据的结构单元
使用`CREATE TABLE`语句定义表结构: sql CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 上述语句创建了一个名为`users`的表,包含用户ID、用户名、密码、邮箱和创建时间等字段
4. 查看表结构 使用`DESCRIBE`或`SHOW COLUMNS`查看表结构: sql DESCRIBE users; 5. 修改表结构 -添加列: sql ALTER TABLE users ADD COLUMN last_login TIMESTAMP; -修改列: sql ALTER TABLE users MODIFY COLUMN email VARCHAR(150) NOT NULL; -删除列: sql ALTER TABLE users DROP COLUMN last_login; 6. 删除表 使用`DROP TABLE`语句删除表: sql DROP TABLE users; 7. 删除数据库 使用`DROP DATABASE`语句删除整个数据库(谨慎操作): sql DROP DATABASE mydatabase; 三、数据的基本操作 1.插入数据 使用`INSERT INTO`语句向表中插入数据: sql INSERT INTO users(username, password, email) VALUES(john_doe, hashed_password, john@example.com); 2. 查询数据 `SELECT`语句用于从表中检索数据
基本语法如下: sql SELECT column1, column2 FROM table_name WHERE condition; 示例: sql SELECT - FROM users WHERE username = john_doe; 3. 更新数据 使用`UPDATE`语句修改表中现有记录: sql UPDATE users SET email = new_email@example.com WHERE username = john_doe; 4. 删除数据 使用`DELETE`语句从表中删除记录: sql DELETE FROM users WHERE username = john_doe; 注意:DELETE操作是不可逆的,除非有备份或启用了事务管理
四、条件与排序 1. 条件查询 使用`WHERE`子句根据条件筛选数据
常见的条件运算符包括`=`、`<>`、``、`<`、`BETWEEN`、`LIKE`等
示例: sql SELECT - FROM users WHERE age BETWEEN20 AND30; 2.排序 使用`ORDER BY`子句对查询结果进行排序
默认升序,使用`DESC`关键字可降序排列
sql SELECT - FROM users ORDER BY created_at DESC; 3.聚合函数与分组 聚合函数如`COUNT`、`SUM`、`AVG`、`MAX`、`MIN`用于计算统计信息
结合`GROUP BY`子句可以对数据进行分组统计
sql SELECT COUNT() FROM users GROUP BY email_domain(email); 五、高级查询与连接 1. 子查询 子查询是嵌套在其他查询中的查询,常用于复杂的数据检索场景
sql SELECT - FROM users WHERE id IN (SELECT user_id FROM orders WHERE total >100); 2. 联合查询 使用`UNION`或`UNION ALL`合并两个或多个`SELECT`语句的结果集
注意,各`SELECT`语句的列数和数据类型需一致
sql SELECT username FROM users UNION ALL SELECT customer_name FROM customers; 3. 表连接 表连接用于从多个表中检索相关数据
常见的连接类型有内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)
sql SELECT users.username, orders.order_id, orders.total FROM users INNER JOIN orders ON users.id = orders.user_id; 六、事务管理 事务是一系列数据库操作的逻辑单元,要么全部成功,要么全部回滚
MySQL支持ACID(原子性、一致性、隔离性、持久性)事务特性
-开始事务:START TRANSACTION; -提交事务:COMMIT; -回滚事务:ROLLBACK; 示例: sql START TRANSACTION; INSERT INTO accounts(name, balance) VALUES(Alice,1000); UPDATE accounts SET balance
重启MySQL数据库服务器的简易指南
MySQL基础教程:掌握基本语句
MySQL中模型的作用:构建高效数据管理与应用基石
MySQL宽字节编码处理技巧
命令行操控:高效管理MySQL服务技巧
MySQL命令出错?别急,这里有解!
MySQL安装遇阻:卸载重装现严重错误
重启MySQL数据库服务器的简易指南
MySQL中模型的作用:构建高效数据管理与应用基石
MySQL宽字节编码处理技巧
命令行操控:高效管理MySQL服务技巧
MySQL命令出错?别急,这里有解!
Win10系统是否自带MySQL解析
MySQL安装遇阻:卸载重装现严重错误
QT5实战:轻松连接MySQL数据库
深入了解MySQL范围锁:提升数据库并发控制效率
MySQL数据实时传输脚本指南
宝塔面板无法登陆MySQL服务器解决指南
MySQL间隙锁:为何它的存在至关重要