MySQL入门
MySQL简单介绍
信息化社会,无处不在都是数据
数据:
数据的存储
- TXT
- EXCEL
- 数据库
数据的计算
各种编程语言可以归纳为数据的计算一类
数据库的层级:
库->表->数据
常见的数据库软件:
- ORACLE甲骨文
- MySQL
- SQLServer
- PostgreSQL
- SQLite
数据库是用来存储数据的,在这个过程中,会涉及到:
- 数据的新增
- 数据的删除
- 数据的修改
- 数据的查询
- 数据库、数据表的管理
- …
SQL语言,就是一种对数据库、数据进行操作、管理、查询的工具
MySQL的安装
MySQL的版本
- MySQL community Serve
社区版本,免费,MySQL不提供官方支持 - MySQL Cluster
集群版,开源免费,可将几个MySQL Server封装成一个Server - MySQL Enterprise Edition
商业版本,可以试用30天,官方提供技术支持 - MySQL Cluster CGE
商业高级集群版
archlinux安装MySQL
安装:
1 | sudo pacman -S mysql |
初始化:
1 | sudo mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql |
输出如下:
1 | 2025-01-06T13:34:02.143764Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start. |
查看输出结果:
- 默认创建了一个SQL用户
- 用户名:root@localhost
- 密码:ZLXk4ud6(X-G
开机自启动:
1 | sudo systemctl start mysqld.service |
链接数据库:
1 | mysql -uroot -p |
修改密码:
1 | alter user 'root'@'localhost' identified by '123'; |
上述示例可以123
替换为你自己的设置的密码
MySQL的入门使用
在命令行提示符使用MySQL:
show databases
:查看有哪些数据库use 数据库名
:使用某个数据库show tables
:查看数据库内有哪些表exit
:退出MySQL的命令行环境
SQL:structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言
基于SQL的功能,可以划分4类
- 数据定义:DDL
库的创建、表的创建删除等 - 数据操纵:DML
新增数据、删除数据、修改数据等 - 数据控制:DCL
新增用户、删除用户、密码修改、权限管理等
-数据查询:DQL
基于需求查询和计算数据
SQL语法特征
- 大小写不敏感
- 可以单行或多行书写,最后一
;
结束 - 支持的注释
- 单行注释:
-- 注释类容
(–之后一定有一个空格) - 单行注释:
# 注释类容
(# 后面可以不加空格,推荐加上) - 多行注释:
/* 注释类容 */
DDL-库管理
- 查看数据库:
show databases;
- 使用数据库:
use 数据库名称;
- 创建数据库:
create datebases 数据库名称 [charset UTF-8];
- 删除数据库:
drop databases 数据库名称;
- 查看当前使用的数据库:
select database();
DDL-表管理
- 查看有哪些表
show tables;
- 删除表
drop table 表名称;
drop table if exists 表名称;
- 创建表
create table 表名称( 列名称 列类型, 类名称 列类型, ...);
列类型有:
int
,float
,varchar(长度)
,date
,timestamp
DML
- 插入insert
insert into 表[(列1, 列2, ...)] values(值1, 值2, ...)[, (值1, 值2, ...), ..., (值1, 值2, ...)];
- 删除delete
delete from 表名称 [where 条件判断];
- 更新update
update 表名 set 列=值 [where 条件判断];
条件判读:列 操作符 值
,操作符号:=
,<
,>=
,!=
等
DQL
- 基础查询
select 字段列表|* from 表 [where 条件判断]
- 分类聚合
selete 字段|聚合函数 from 表 [where 条件] group by 列;
聚合函数:sum(列)
,avg(列)
,min(列)
,max(列)
,count(列|*)
- 排序分页
select 列|聚合函数|* from 表 [where ... group by ...] order by ... [asc |desc] limit n[, m]
where group by
,order by
,limit
均可以按需省略,select
和from
是必须写的
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 rminit's blog!