MySQL基础指南:从入门到精通
MySQL是一个流行的开源关系型数据库管理系统,被广泛用于Web应用程序和服务器端开发。本文将从MySQL的基本概念开始,逐步介绍MySQL的安装、常用操作、数据类型、查询语句等内容,帮助你快速入门MySQL数据库。
1. MySQL简介
MySQL是一种关系型数据库管理系统(RDBMS),由Oracle公司开发和维护。它是一个开源软件,具有高性能、可靠性强的特点,被广泛用于各种规模的应用程序和网站开发中。
2. 安装MySQL
2.1 在Linux上安装MySQL
在Linux系统上安装MySQL可以通过包管理器来完成。例如,在Ubuntu系统上可以使用以下命令:
bash
sudo apt update
sudo apt install mysql-server
2.2 window安装mysql
mysql下载地址:https://dev.mysql.com/downloads/mysql/
在Windows系统上安装MySQL可以通过下载官方安装程序来完成。从MySQL官网下载适合你系统的安装程序,并按照提示进行安装。
3. MySQL基本概念
3.1 数据库(Database)
数据库是一个组织和存储数据的集合,通常包含多个表。
3.2 表(Table)
表是数据库中的一种结构,用于组织和存储数据。每个表由行和列组成。
3.3 列(Column)
列是表中的一个字段,用于存储特定类型的数据。每一列有一个数据类型,如整数、字符串、日期等。
3.4 行(Row)
行是表中的一个记录,包含了各个列的具体数据。
3.5 主键(Primary Key)
主键是表中的一个唯一标识符,用于唯一标识每一行数据。主键保证了数据的唯一性和完整性。
4. MySQL常用操作
4.1 连接到MySQL服务器
使用命令行工具或图形化界面工具连接到MySQL服务器。
bash
mysql -u username -p
4.2 创建数据库
sql
CREATE DATABASE mydb;
4.3 选择数据库
sql
USE mydb;
4.4 创建表
sql
CREATE TABLE `user` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(35) NOT NULL COMMENT '用户名',
`password` varchar(35) NOT NULL COMMENT '密码',
`url` text
)
4.5 插入数据
sql
INSERT INTO mydb.`user`
(id, username, password, url)
VALUES(1, 'lulu', '1231231', 'https://baidu.com');
4.6 查询数据
sql
SELECT * FROM user;
4.7 更新数据
sql
UPDATE user SET password = "123456", username = "zhangsan" WHERE id=3;
4.8 删除数据
sql
delete from user where id = 3;
5. MySQL数据类型
1、整数类型:
TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
2、浮点数类型:
FLOAT
DOUBLE
定点数类型:
DECIMAL
3、字符串类型:
CHAR
VARCHAR
BINARY
VARBINARY
TINYBLOB
TINYTEXT
BLOB
TEXT
MEDIUMBLOB
MEDIUMTEXT
LONGBLOB
LONGTEXT
ENUM
SET
4、日期与时间类型:
DATE
TIME
DATETIME
TIMESTAMP
YEAR
5、其他类型:
BOOLEAN
JSON
6. MySQL查询语句
6.1 基本查询
sql
select * from user where id = 3;
6.2 聚合查询
sql
select sum(id) sum_id,avg(id)avg_id,count(id)cnt from user where id >=0;
6.3 排序查询
sql
select * from user order by id desc;
6.4 分组查询
sql
select count(*) from user where id =1 group by id;
7. 总结
本文介绍了MySQL的基本概念、常用操作、数据类型和查询语句等内容。希望通过本文的学习,你能够掌握MySQL数据库的基础知识,并能够应用到实际项目中。
MySQL是一个功能强大、灵活性高的数据库管理系统,深入学习和掌握MySQL将为你的职业发展和项目实践带来巨大的帮助。
**如有遇到问题可以找小编沟通交流哦。另外小编帮忙辅导大课作业,学生毕设等。不限于MapReduce, MySQL, python,java,大数据,模型训练等。 hadoop hdfs yarn spark Django flask flink kafka flume datax sqoop seatunnel echart可视化 机器学习等 **