文章目录
Mysql数据库基础
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
- Mysql是开源的,所以不需要支付额外的费用。
- Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL使用标准的SQL数据语言形式。
- Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
- Mysql对PHP有很好的支持
- MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
- Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。
1.Mysql数据库的安装
1.1exe安装包
下载,然后使用.exe即可
1.2解压安装
1.下载
官网下载地址: https://downloads.mysql.com/archives/community/
2.选择自己想要的版本号,download
3.解压到指定路径
例如:E:\mysql-5.7.21-winx64
4.进入解压好后的文件夹,创建my.ini文件(可以先创建一个记事本,然后改后缀名)并用编辑器打开,进行编辑,内容如下:
.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,注意这个文件要和bin目录同级
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=对应目录:\mysql-5.7.21-winx64
# 设置mysql数据库的数据的存放目录
datadir=对应的目录:\mysql-5.7.21-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为utf-8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
5.(可以忽略) .default-storage-engine=INNODB6.下载安装VC++ https://dl.pconline.com.cn/download/864971-1.html,下载好后,直接进行安装
我这里是VC++2015版的,也可以下载其他版本
6.添加环境变量,
右键我的电脑,高级系统设置,环境变量,下面的滚动框找到Path,双击打开后,在末尾添加,你的mysql的bin路径
例如:E:\mysql-5.7.21-winx64\bin
7.以管理员身份运行终端,进入文件包的bin目录
在终端依次输入:
cd mysql-5.7.12-winx64
cd bin
mysqld --install
mysqld --initialize #这个会调用我们之前写的my.ini文件
net start mysql
8.服务启动成功后,在musql文件包data目录下找以 .err 结束的文件,用编辑器打开,
找到一行,
A temporary password is generated for root@localhost: 初始化密码
复制初始化密码
有一种安装方法不会有初始密码,可以去找一下。
9.在终端输入
mysql -uroot -p 初始化密码
10.进入数据库成功后,输入
alter user user() indentified by newpassword
newpassword就是新密码
11.下次登录就可以直接在终端输入 mysql -uroot -pnewpassword
2.删除Mysql
2.1删除服务
在cmd里输入:
sc delete mysql
2.2删除注册表
先打开注册表编辑器:
win+R 输入 regidet 或者用其他方法也行
路径:
路径1:\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\MySQL
路径2:\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application\MySQL
路径3:\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
请按路径找到并删除Mysql的注册表,并不是所有的路径都存在
2.3 查漏补缺
路径:
1.C:\Program Files\MySQL
2.C:\ProgramData\MySQL
删除时请勾选显示隐藏文件。
3.基本操作
3.1登录
mysql -h ip地址 -u用户名 -p密码
3.2库操作
- 查看已经存在的数据库:
- show databases;
- 使用数据库:
- use database_name(s使用成功会提示 database changed)
- 创建数据库:
- create database database_name
- 删除数据库:
- drop database database_name
3.3表操作
-
查看当前库下的表:
- show tables
-
查看表的结构:
- desc table_name
-
创建表:
- create table table_name(字段名 数据类型 约束条件,字段名2 数据类型2 约束条件2);
约束条件 | 说明 |
---|---|
PRIMARY KEY | 标识该属性为该表的主键,可以唯一的标识对应的元素 |
FOREIGN KEY | 标识该属性为该表的外键,是与之联系某表的主键 |
NOT NULL | 标识该属性不能为空 |
UNIQUE | 标识该属性的值是唯一的 |
AUTO_INCREMENT | 标识该属性的值是自动增加,这是MySQL的SQL语句的特色 |
DEFAULT | 为该属性设置默认值 |
-
删除表:
- drop table table_name
删除没有被关联的普通表:直接上面的SQL语句就行了
删除被其他表关联的父表:
方法一:先删除子表,在删除父表
方法二:删除父表的外键约束(上面有介绍),再删该表
-
更改表的存储引擎:
- 格式:ALTER TABLE 表名 ENGINE = 存储引擎名;
3.4数据操作
3.4.1增
insert
:增加(条件一条新纪录,默认新添加的记录都添加在已有记录的末尾)
1.格式: 1.1添加新纪录时,只给记录中的某几个字段赋值
insert into 表名(字段名1,字段名2...)values(值1,值2....);
*值得类型是字符的话需要用双引号引起来
1.2 添加新纪录时,给所有记录中的所有字段赋值
insert into 表名 values(值1,值2....);
*值得类型是字符的话需要用双引号引起来 *值与字段的类型一定匹配
2.例子 1.1 给表中插入一条记录
insert into usertab values(46,"plj",100,"x",2000,2000,"my teahere","/pljdir","/bin/bash");
1.2 给表中的指定字段赋值
insert into usertab(username,password,uid,gid,shell)values("plj"