一、初识MySql
1、为什么要学习数据库
- 公司业务需求,岗位要求
- 用来存储数据信息
- 大数据时代,数据库是基本要求
- 数据库也是所有软件体系中的核心存在
2、什么是数据库(DataBase)?
- 数据库是“按照数据结构来组织、存储和管理数据的仓库”,是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。
- 数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。
3、数据库的分类
关系型数据库:(Sql)
- 通过表和表之间的关系进行存储的数据,如学生信息表,成绩表;
- 常见的关系型数据库:MySql、Oracle、Sql Sever、DB2等
非关系型数据库
- 非关系型数据库存储对象,由对象自身的属性决定;
- 常见的非关系型数据库:Redis、MongoDB。
4、什么是MySql?
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。 一般中小型网站和大型网站的开发都选择 MySQL 作为网站数据库。
二、MySQL安装、Sqlyog安装
命令行安装MySQL步骤
1、下载软件
64位安装软件下载链接
根据自己的电脑配置下载相关的软件包
2、安装步骤
- 将下载好的软件包解压到自己想安装的目录下,如:E:\Environment\mysql-5.7.19
- 添加环境变量:
1、打开自己电脑的环境变量配置;
2、选择Path,在后面加上MySQL中的bin文件夹的路径;
3、E:\Environment\mysql-5.7.19下新建 my.ini 文件;
4、编辑新建的 my.ini 文件,将其中路径切换为自己的文件路径;
[mysqld]
basedir=E:\Environment\mysql-5.7.19\
datadir=E:\Environment\mysql-5.7.19\data\
port=3306
character-set-server=utf8
skip-grant-tables
-
启动管理员模式下的CMD,然后切换目录到MySQL下的bin,再输入
mysqld –install
进行安装 -
再输入
mysqld --initialize-insecure --user=mysql
初始化数据文件 -
然后输入
net start mysql
再次启动 mysql 再使用命令mysql –u root –p 进入mysql
管理界面(密码可为空) -
进入页面后更改root密码:
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';
再输入flush privileges;
刷新权限 -
将第2步中的 my.ini 文件中的
skip-grant-tables
删掉 -
重启mysql即可正常使用
net stop mysql ; net start mysql
安装完成正常使用的界面:
Sqlyog安装
下载完成后正常安装即可。
命令行连接数据库
mysql -uroot -p123456
三、操作数据库
1、 操作数据库 – 操作数据库中的表 – 操作数据表中的数据
1、创建数据库
CREATE DATABASE `westos`;
2、删除数据库
DROP DATABASE `westos`;
3、使用数据库
use `westos`;
4、查看所有的数据库
SHOW DATABASES;
2、数据库的列类型
数值
tinyint --特别小数据 1字节
smallint --较小的数据 2字节
int --标准的整数 4字节
bigint --较大的数据 8字节
float -- 单精度浮点数 4字节
double -- 双精度浮点数 8字节
decimal --字符串形式的浮点数,一般用于金融计算
字符串
char --字符串大小固定 0-255字符
varchar --可变字符串 0-65535字符
tinytext --微型文本 2^8-1个字符
text --文本串 2^16-1个字符
时间日期格式
date --YYYY-MM-DD 日期格式
time --hh:mm:ss 时间格式
datetime --最常用的时间日期格式 YYYY-MM-DD hh:mm:ss
timestamp --时间戳 1970.1.1到现在经过的毫秒数
3、数据库的字段属性
Unsigned
- 无符号的整数
- 不能为负数
zerofill
- 0填充
- 位数不足,0来填充,如:int(3),1 – 001
自增
- 自动在上一条记录上加1
- 自增的字段必须是整数类型
非空
- not null,不填写就会报错
4、创建数据库的数据表
创建一个school数据库
创建student数据表
列属性:id(10)name(20)sex(2)birthday(10)phone(20)
主键为id,自增
-- 创建数据库
CREATE DATABASE IF NOT EXISTS `school`;
-- 创建数据表
CREATE TABLE IF NOT EXISTS `student`(
`id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(20) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '生日',
`phone` VARCHAR(15) DEFAULT NULL COMMENT '联系方式',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
创建数据表的格式
CREATE TABLE IF NOT EXISTS `表名` (
`字段名` 列类型 属性 注释,
......
)表类型 字符集设置 注释
5、数据表的类型
- INNODB 默认使用类型
- MYISAM 早期使用的数据表类型
这两个数据表的区别:
MYISAM | INNODB | |
---|---|---|
事务 | 不支持 | 支持 |
数据行锁定 | 不支持 | 支持 |
外检约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间大小 | 较小 | 较大,约为MYISAM的两倍 |
优点 | 节约空间,速度快 | 安全性高,可以处理事务、多表的用户操作 |
数据表在物理空间的存储位置
创建的所有数据库都在安装 MySQL 的目录下的 data 文件夹中。
数据表的字符编码
CHARSET=utf8
6、对数据表的修改和删除
修改
-- 修改表名 格式:ALTER TABLE 原表名 RENAME AS 新表名
ALTER TABLE `teacher