数据库之 基础概念、安装mysql、sql语句基础
【一】存储数据的演变过程:
- 文件存储: 初始阶段随意存放数据到文件,格式任意。
- 目录规范引入: 软件开发使用目录规范,限制数据位置,建立专门文件夹。
- 本地数据存储: 游戏数据本地保存,账号在本地有效。
- 单机转联网: 互联网时代,数据库服务端建立,数据统一存储,实现共享和稳定性。
【二】数据库的本质
- 网络通信应用程序
- 每人可开发数据库
【三】数据库的分类:
【1】关系型数据库
-
包含:
- MySQL, Oracle, db2, access, SQL Server
- 采用关系模型,支持SQL查询语言。
-
特点
- 彼此关联 ,表格存储 ,字段限制数据格式,支持各种操作。
【2】非关系型数据库
-
包含:
- Redis, MongoDB, Memcached
- 采用不同模型,如键值对、文档、图形。
-
特点:
- K:V形式存储 ,适用于临时 、高速访问 ,不提供复杂查询和事务支持。
【四】SQL语句由来
【1】Socket通信
- 底层网络通信使用Socket
- 服务端和客户端通过Socket进行消息传递。
mysqld.exe
和mysql.exe
是 MySQL 数据库的客户端和服d务端程序,分别负责数据库的服务和客户端连接。
【2】SQL语句的产生
- 为了使 MySQL 不仅能支持 MySQL 自己的客户端应用程序,还能支持其他编程语言
- MySQL 采用了 SQL 作为统一的语言来进行数据操作。
【五】数据库的基本单位
【1】库(Database)
- 存储和组织数据的容器
- 类似文件夹,可以包含多个表。
【2】表(Table)
- 用于存储和展示数据
- 由行(记录)和列(字段)组成,类似电子表格。
【3】记录(Record)
-
记录也称作行,是表中的一个数据项或实体。
-
每行代表一个完整数据记录,包含各字段的具体数值或信息。
-
类似于电子表格的一行数据
【4】表头(Header)
-
表中的第一行,描述每列字段的含义,方便数据理解和查询
-
通过表头可以了解每个列字段所代表的意义
-
类似于电子表格的第一行
【5】表单(Form)
- 用于收集和展示数据的界面
- 包含输入字段和操作按钮,用户可进行数据录入、编辑和提交。
【六】数据库安装
【0】各个服务器的端口
- MySQL :3306
- Redis : 6379
- MongoDB : 27017
- Django : 8000
- flask : 5000
【1】官网下载Mysql
-
选择5.7.44版本
-
下载Windows (x86, 64-bit), ZIP Archive
【2】解压文件
- 解压得到的文件夹就是安装目录,放置自己指定位置
- 不要含有中文
【3】添加环境变量
- 将文件夹的bin目录添加到系统环境变量Path中
python
D:\mysql\mysql-5.7.44-winx64\bin
【4】创建指定文件
-
在解压文件下创建my.ini配置文件
- 文件内容
python[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir="D:\mysql\mysql-5.7.44-winx64" # 设置mysql数据库的数据的存放目录,就是前面手动创建的data目录 datadir="D:\mysql\mysql-5.7.44-winx64\data" # 允许最大连接数 max_connections=200 # 允许连接失败的次数。 max_connect_errors=10 # 服务端使用的字符集默认为utf8mb4 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用"mysql_native_password"插件认证, mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 设置mysql网络通信的默认字符集 default-character-set=utf8mb4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 # 设置mysql客户端的默认字符集 default-character-set=utf8mb4
-
创建文件夹data
-
最终的目录结构
【5】初始化数据库
- 打开cmd窗口(管理员),输入
python
mysqld --initialize --console
- data文件夹下将得到初始化的数据
- 最后会得到初始化密码,这个要赋值下来
【6】注册系统服务
- 把mysql注册到操作系统作为系统服务,保证将来电脑重启了就可以开机自启了
python
mysqld --install
- 注销方法
python
mysqld --remove
【7】启动和关闭服务
- 启动服务
python
net start MySQL
- 关闭服务
python
net stop MySQL
- 重启服务
python
net stop MySQL && net start MySQL
【8】修改密码
- 先登录
sql
# 登录方式一
mysql -uroot -p
# 登录方式二
mysql -uroot -p密码
- 修改密码
python
alter user 'root'@'localhost' identified by '新密码';
- 刷新权限
python
FLUSH PRIVILEGES;
- 退出MySQL客户端
python
exit;
- 登录,输入新密码
python
mysql -u root -p
【9】跳过登录密码
-
在my.ini文件中添加指定信息
[mysql]
不需要每次输入验证码即可登陆
user="root"
password=新密码 -
重启服务
net stop MySQL && net start MySQL
-
登录
mysql -uroot
【七】SQL语句基础
- MySQL是关系型数据库,操作它需要使用SQL(结构化查询语言)。
【1】SQL规范
- SQL语句关键字不区分大小写,但建议用大写。
- 命令大写,数据库名、数据表名、字段名统一小写,避免冲突。
- 使用反引号圈起同名的数据库名、数据表名、字段名与关键字。
- SQL语句可单行或多行书写,以英文分号(;)结尾,关键词不能跨多行或简写。
- 字符串和日期类型的值要用单引号括起来。
- 单词之间使用半角空格隔开。
- 使用空格和缩进提高SQL语句可读性。
【2】注释语法
(1)单行注释
sql
# 注释内容
sql语句 --注释内容
(2)多行注释
sql
/*
注释内容
*/
【3】SQL类型
- 根据用途不同,SQL语句分为三大类型:
(1)数据定义语言(DDl)
- 用于创建或删除数据库 和数据表
- 包括CREATE(创建)、DROP(删除)、ALTER(修改)
(2)数据操纵语言(DML)
- 用于对数据表中的数据进行增删改查
- 包括SELECT(查找)、INSERT(插入)、UPDATE(更新)、DELETE(删除)
(3)数据控制语言(DCL)
- 用于控制数据的操作权限,包括用户权限 和数据操作权限
- 包括COMMIT(确认对数据库的数据变更)、ROLLBACK(取消对数据库的数据变更)、GRANT(赋予用于操作权限)、REMOVE(取消用户的操作权限)
(4)补充
-
SHOW
属于 SQL 的一种语句,它通常用于检索关于数据库、数据表、用户权限等信息 -
SHOW
不属于 DDL、DML 或 DCL 中的一种,而是用于元数据查询和展示。SHOW DATABASES;
:显示所有数据库的列表。SHOW TABLES;
:显示当前数据库中所有数据表的列表。SHOW COLUMNS FROM 表名;
:显示指定表的列信息。SHOW GRANTS FOR 用户名;
:显示给定用户的权限。
【4】SQL常用命令
- help: 查看系统帮助信息。
- status: 查看数据库管理系统的状态信息。
- exit 或 quit: 退出数据库终端连接。
- \c: 在打错命令后,想重新换行时使用,输入\c回车。