通俗名词
数据:描述事务特征的符号
记录:事物一系列典型的特征
表:类似一个文件
库:类似一个文件夹
数据库管理软件:Mysq、db2、oracle、slqserver
数据库服务器:运行数据库管理软件的计算机
什么是MySQL
- 一个基于socket编写的C、S架构的软件
- 客户端软件:
-
- mysql自带:如mysql命令,mysqldump命令等
-
- python模块:如pymysql
PyMySQL
-
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
-
PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。
数据库管理软件分类
安装mysql软件
网上有很多教程,这里就不详细介绍了
1.下载的是64位系统的zip包:
下载地址:https://dev.mysql.com/downloads/mysql/
2. 下载后解压
3. 配置环境变量
4. 生成data文件(在命令提示符中进入mysql文件中的bin文件里)
执行命令:mysqld --initialize-insecure --user=mysql
5. 启动服务
- 执行命令:
net start mysql
启动mysql服务 - 若执行失败,则执行命令:
mysqld -install
(不需要my.ini配置文件 ,已配置过的把这个文件删掉)
**ps:**关闭MySQL(要以管理员身份运行cmd):net stop mysql
6.登录mysql(之前没设置密码,所以密码为空,不用输入密码,直接回车即可)mysql -u root -p
7.查询用户密码
查询用户密码命令:mysql> select host,user,authentication_string from mysql.user;
ps:查询当前用户mysql> select user();
8.设置(或修改)root用户密码
mysql> update mysql.user set authentication_string=password("123456") where user="root"; #password("123456"),此处引号中的内容是密码,自己可以随便设置
mysql> flush privileges; #作用:相当于保存,执行此命令后,设置才生效,若不执行,还是之前的密码不变
9.退出mysql
mysql> quit
MySQL一些基本知识
- cmd在bin文件中设置环境变量等相关配置
- data文件中存数据库的文件夹、文件(表)
- 操作对象
-
- 操作文件夹(增、查、改、删)
-
- -操作文件(增、查、改、删)
-
- 操作文件内容(增、查、改、删)
- 存储引擎:就是表的类型
-
- 查看MySQL存储引擎:
show engines
-
- 指定表的存储引擎:
如:指定为innodb
- 指定表的存储引擎:
SQL语句
操作文件夹
- 增
- 查
- 改
- 删
ps:
操作文件
- 增
- 查
- 改
- 删
操作文件内容
- 增
- 查
- 改
- 删
进入t1表
desc t1;
创建表
修改表结构
复制表
如:将mysql库中user表的host、name内容复制给新创建的t1表(既要结构又要记录)
如:只复制表结构:
删除表
清空表内容
delete
如:清空表t20:
用delete清空表不会把auto设置的最后值清空,所以delete常用与where一起用
如:
truncate
如:清空表t20:
清空表用这个好!
日期类型
- 年:year
- 年月日:data
- 分时秒:time
- 年月日分时秒:datatime
now()函数:截取当前时间
/c:退出表内容输入,以分号结尾
字符类型
**char:定长(一定要存够设置的长度,容易浪费空间);varchar:变长(存几个就显示怎么样,存储和取数据时间慢);**一张表中最好不要这两个类型混用!
查询时:= 和 like区别
枚举类型
- enum:单选
- set:多选
![- !](https://img-blog.csdnimg.cn/20210706220411269.png)
例题:
约束条件
not null 和 default
- not null 不为空值
- default 默认值
例子:
unique key_batch
用于限制传入的字段和值是唯一的
单列唯一
例子1:
例子2:
多列(联合)唯一
例子1:
例子2:
primary key_batch
传入的字段和数据不为空且唯一
ps:对于存储引擎innodb来说,一张表必须有一个主键。
一般有id,则设置id为主键,不设置的话,mysql会找一个不为空且唯一的字段做主键
单列主键
复合主键
即一张表有多个主键
例子:
auto
即让字段内容从上一条开始自增长,当没有设置步长时,自增长值为1
查看可知:
ps:查看以auto_inc开头的变量
Navicat Premium
-
Navicat Premium是一个可多重连接的数据库管理工 具,它可让你以单一程序同时连接。
-
Navicat Premium 使你能简单并快速地在各种数据库系统间传输数据,或传输一份指定 SQL 格式及编码的纯文本文件。这可以简化从一台服务器迁移数据到另一台服务器的类型的进程。不同数据库的批处理作业也可以计划并在指定的时 间运行。
内容来源
部分内容来源该视频
https://www.bilibili.com/video/BV1so4y1X7ai?from=search&seid=6763173911809375257