MySQL,作为开源的关系型数据库管理系统,凭借其高性能、可靠性和易用性,在众多DBMS中脱颖而出,成为Web开发、数据分析等领域的首选
无论你是初学者还是有一定经验的开发者,掌握MySQL的基础语法都将极大地提升你的数据处理能力
本文将深入浅出地介绍MySQL的入门基础语法,帮助你快速上手这一强大的数据管理工具
一、MySQL简介与安装 MySQL由瑞典公司MySQL AB开发,后被Sun Microsystems收购,最终成为Oracle公司的一部分
它以C和C++编写,支持多种操作系统,包括Windows、Linux、Mac OS等
MySQL采用标准的SQL(Structured Query Language,结构化查询语言)进行数据操作,这使得它易于学习和使用
安装MySQL: -Windows:可以从MySQL官网下载安装包,按照向导完成安装
-Linux:在Ubuntu等发行版上,可以使用`apt-get`命令安装,如`sudo apt-get install mysql-server`
-Mac OS:通过Homebrew安装,命令为`brew install mysql`
安装完成后,通常需要启动MySQL服务,并设置root用户的密码,这是访问数据库的第一步
二、数据库与表的基本操作 1. 创建数据库 sql CREATE DATABASE 数据库名; 例如,创建一个名为`testdb`的数据库: sql CREATE DATABASE testdb; 2. 使用数据库 sql USE 数据库名; 切换到`testdb`数据库: sql USE testdb; 3. 创建表 表是数据库的基本存储单元,由行和列组成
创建表时,需定义表名、列名及其数据类型
sql CREATE TABLE 表名( 列名1 数据类型约束条件, 列名2 数据类型约束条件, ... ); 例如,创建一个存储用户信息的表`users`: sql CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(100) NOT NULL, email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 4. 查看表结构 sql DESCRIBE 表名; 查看`users`表的结构: sql DESCRIBE users; 5. 修改表结构 - 添加列: sql ALTER TABLE 表名 ADD 列名 数据类型约束条件; - 修改列: sql ALTER TABLE 表名 MODIFY 列名 新数据类型 新约束条件; - 删除列: sql ALTER TABLE 表名 DROP COLUMN 列名; - 重命名表: sql ALTER TABLE 旧表名 RENAME TO 新表名; 6. 删除表 sql DROP TABLE 表名; 7. 删除数据库 sql DROP DATABASE 数据库名; 三、数据的基本操作 1. 插入数据 sql INSERT INTO 表名(列名1, 列名2,...) VALUES(值1, 值2,...); 向`users`表中插入一条记录: sql INSERT INTO users(username, password, email) VALUES(john_doe, hashed_password, john@example.com); 2. 查询数据 sql SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件; 查询`users`表中的所有记录: sql SELECTFROM users; 查询特定条件下的记录,如用户名为`john_doe`的用户: sql SELECT - FROM users WHERE username = john_doe; 3. 更新数据 sql UPDATE 表名 SET 列名1 = 新值1, 列名2 = 新值2, ... WHERE 条件; 将`john_doe`的邮箱更新为`john_new@example.com`: sql UPDATE users SET email = john_new@example.com WHERE username = john_doe; 4. 删除数据 sql DELETE FROM 表名 WHERE 条件; 删除用户名为`john_doe`的记录: sql DELETE FROM users WHERE username = john_doe; 四、高级查询与函数 1. 排序与限制结果集 -排序:使用ORDER BY子句按指定列排序,可指定升序(ASC,默认)或降序(DESC)
sql SELECT - FROM users ORDER BY created_at DESC; -限制结果集:使用LIMIT子句限制返回的记录数
sql SELECTFROM users LIMIT 10; 2. 聚合函数 MySQL提供了一系列聚合函数,用于计算统计信息,如`COUNT()`、`SUM()`、`AVG()`、`MAX()`、`MIN()`等
sql SELECT COUNT() FROM users; -- 统计用户总数 3. 分组与过滤 -分组:使用GROUP BY子句将数据分组,常与聚合函数一起使用
sql SELECT email, COUNT() FROM users GROUP BY email; -过滤分组结果:使用HAVING子句过滤分组后的结果
sql SELECT email, COUNT() FROM users GROUP BY email HAVING COUNT() > 1; 4. 连接查询 连接查询用于从多个表中检索数据,常见类型有内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)等
sql --假设有两个表users和orders,通过user_id关联 SELECT users.username, orders.order_id FROM users INNER JOIN orders ON users.id = orders.user_id; 五、索引与优化 1. 创建索引 索引能显著提高查询速度,但会增加写操作的开销
sql CREATE INDEX索引名 ON 表名(列名); 例如,为`users`表的`username`列创建索引: sql CREATE INDEX idx_username ON use