
无论是初学者还是经验丰富的数据库管理员,掌握MySQL的基本代码和操作都是至关重要的
本文将详细介绍MySQL的基本代码,帮助读者从安装配置到数据查询、管理,全面系统地掌握MySQL的使用
一、MySQL的安装与配置 1. 安装MySQL 在Linux系统上,可以使用包管理器安装MySQL
以Ubuntu为例: bash sudo apt update sudo apt install mysql-server 在Windows系统上,可以从MySQL官方网站下载MySQL Installer,并按照提示进行安装
2. 配置MySQL 安装完成后,需要进行一些基本配置,如设置root密码、创建用户等
sql -- 登录MySQL mysql -u root -p -- 修改root密码(以MySQL8.0为例) ALTER USER root@localhost IDENTIFIED BY new_password; -- 创建新用户并授权 CREATE USER newuser@localhost IDENTIFIED BY password; GRANT ALL PRIVILEGES ON database_name. TO newuser@localhost; FLUSH PRIVILEGES; 二、数据库与表的管理 1. 创建数据库 sql CREATE DATABASE database_name; 2. 使用数据库 sql USE database_name; 3. 创建表 sql CREATE TABLE table_name( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 4. 查看表结构 sql DESCRIBE table_name; 5. 修改表结构 添加列: sql ALTER TABLE table_name ADD COLUMN new_column VARCHAR(100); 修改列类型: sql ALTER TABLE table_name MODIFY COLUMN column_name VARCHAR(200); 删除列: sql ALTER TABLE table_name DROP COLUMN column_name; 6. 删除表 sql DROP TABLE table_name; 7. 删除数据库 sql DROP DATABASE database_name; 三、数据操作 1. 插入数据 sql INSERT INTO table_name(name, email) VALUES(John Doe, john.doe@example.com); 插入多条数据: sql INSERT INTO table_name(name, email) VALUES (Jane Doe, jane.doe@example.com), (Alice Smith, alice.smith@example.com); 2. 查询数据 基本查询: sql SELECTFROM table_name; 条件查询: sql SELECT - FROM table_name WHERE name = John Doe; 排序查询: sql SELECT - FROM table_name ORDER BY name ASC; -- ASC表示升序,DESC表示降序 分页查询: sql SELECT - FROM table_name LIMIT 10 OFFSET20; -- 从第21条记录开始,获取10条记录 3. 更新数据 sql UPDATE table_name SET email = john.newemail@example.com WHERE name = John Doe; 4. 删除数据 sql DELETE FROM table_name WHERE name = John Doe; 四、高级查询与优化 1. 聚合函数 计数: sql SELECT COUNT() FROM table_name; 求和: sql SELECT SUM(column_name) FROM table_name; 平均值: sql SELECT AVG(column_name) FROM table_name; 最大值和最小值: sql SELECT MAX(column_name), MIN(column_name) FROM table_name; 2. 分组查询 sql SELECT name, COUNT() FROM table_name GROUP BY name; 3. HAVING子句 对分组结果进行过滤: sql SELECT name, COUNT() FROM table_name GROUP BY name HAVING COUNT() > 1; 4. 连接查询 内连接: sql SELECT a.name, b.order_id FROM users a INNER JOIN orders b ON a.id = b.user_id; 左连接: sql SELECT a.name, b.order_id FROM users a LEFT JOIN orders b ON a.id = b.user_id; 右连接: sql SELECT a.name, b.order_id FROM users a RIGHT JOIN orders b ON a.id = b.user_id; 5. 子查询 在SELECT子句中使用子查询: sql SELECT name FROM users WHERE id IN(SELECT user_id FROM orders WHERE amount >100); 在FROM子句中使用子查询: sql SELECT sub.name, sub.total_amount FROM( SELECT user_id, SUM(amount) AS total_amount FROM orders GROUP BY user_id ) AS sub JOIN users ON sub.user_id = users.id; 6. 索引优化 创建索引: sql CREATE INDEX idx_name ON table_name(column_name); 查看索引: sql SHOW INDEX FROM table_name; 删除索引: sql DROP INDEX idx_name ON table_name; 7. 查询优化 使用EXPLAIN分析查询计划: sql EXPLAIN SEL
【教程】MySQL5.7安装程序下载指南:轻松上手数据库安装
MySQL基础代码全集大揭秘
Laravel中优化MySQL长连接技巧
将现有MySQL整合进XAMPP教程
MySQL5.7.12 my.ini配置详解指南
Navicat MySQL激活教程:轻松解锁高级功能
魔方网表与MySQL的高效结合应用
【教程】MySQL5.7安装程序下载指南:轻松上手数据库安装
Laravel中优化MySQL长连接技巧
将现有MySQL整合进XAMPP教程
MySQL5.7.12 my.ini配置详解指南
Navicat MySQL激活教程:轻松解锁高级功能
魔方网表与MySQL的高效结合应用
MySQL用户管理:解锁高效数据库访问权限的秘密
MySQL环境搭建全攻略
如何高效执行MySQL语句指南
MySQL5.7 vs8.0:版本大比拼
MySQL查询技巧:轻松返回100条数据
MySQL行转列技巧:掌握PIVOT关键字