MySql 初识
MySql 初识
JavaEE:企业级 java 开发 Web
前端 (页面:展示,数据!)
后台 (连接点:连接数据库 JDBC, 连接前端 ( 控制,控制视图跳转,和给前端传递数据))
数据库 (存数据,txt, excel, word)
趋势
1、岗位需求
2、大数据时代,数据变现 (得数据者得天下)
3、被迫需求 (存数据)
4、数据库是所有软件体系中最核心的存在 DBA
什么是数据库
数据库 (DB, DataBase)
概念:数据仓库, 软件 ,安装在操作系统 (windows, linux, mac.....) 之上!SQL, 可以存储大量的数据
作用:存储数据,管理数据 类似于 (Excel)
数据库分类
-
关系型数据库:(SQL)
- MySQL, Oracle, Sql Server, DB2, SQLlite
- 通过表和表之间,行和列之间得关系,进行数据的存储, 学员信息表,考勤表
-
非关系型数据库: (NoSQL) Not Only SQL
- Redis, MongDB
- 非关系型数据库,对象存储,通过对象的自身的属性来决定
-
DBMS(数据库管理系统)
- 数据库的管理软件,科学有效的管理我们的数据,维护和获取数据;
- MySQL,数据库管理系统!
MySQL 简介
MySQL 是一个 关系型数据库管理系统
开源的数据库软件
体积小、速度快、总体拥有成本低
中小型网站使用
官网:www.mysql.com
- 安装建议:
- 尽量不要使用 exe
- 尽可能使用压缩包安装
安装 MySQL
1、 解压到指定目录
2、 添加环境变量: 将 mysql 安装文件夹下面的 bin 文件夹 添加到环境变量中
3、 在 mysql 安装文件夹下面新建 my.ini 文件
4、 编辑 my.ini 文件
[mysqld]
# 路径注意使用反斜杠 / 或者 双杠 \\
port = 3306
basedir=[安装目录]
datadir=[安装目录]/data/ # 不要手动新建,会自动生成 data 文件夹
5、 启动管理员模式下的 CMD, 运行所有的命令
6、 进入 mysql bin 目录,然后输入 mysqld --install
安装 mysql
7、 再输入 mysqld --initialize-insecure --user=mysql
初始化数据文件
8、 输入 net start mysql
启动 mysql 服务
9、 输入 mysql -uroot -p
进入 mysql
9、 输入 alter user 'root'@'localhost' identified with mysql_native_password by '123456';
修改密码为 123456
9、 输入 mysql -u root -p123456
进去 mysql
11、 输入 exit 退出 mysql
12、 输入 net stop mysql
停止 mysql 服务
清空 mysql 服务 (卸载 mysql 才需要使用) 慎用
sc delete mysql
SQLyog
1、 https://sqlyog.en.softonic.com/ 社区版下载链接
2、 直接安装
3、 打开 SQLyog, 在 启动 mysql 服务后 连接登录
4、连接成功
5、 新建一个数据库
相当于 sql 代码
CREATE DATABASE `school`CHARACTER SET utf8 COLLATE utf8_general_ci;
sqlyog 中的每一个执行操作,本质就是对应了一个 sql 语句执行,可以在软件的历史记录中使用
6、 新建一张表
字段: id, name, age
CREATE TABLE `school`.`student` ( `id` INT(10) NOT NULL COMMENT '学员 id', `name` VARCHAR(100) NOT NULL COMMENT '学员姓名', `age` INT(3) NOT NULL COMMENT '学员年龄', PRIMARY KEY (`id`) ) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_general_ci;
7、 查看表
8、 尝试添加多条记录
命令行 SQL 语句
连接数据库
命令行连接
mysql -uroot -p -- 连接数据库
-- 然后输入密码
简单的语句 注意所有的 sql 语句都需要以分号结尾
show databases; -- 查看所有的数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| school |
| sys |
+--------------------+
---------------------------------------------------
use school; -- 切换 / 使用数据库
Database changed
show tables; -- 查看数据库中的所有表
+------------------+
| Tables_in_school |
+------------------+
| student |
+------------------+
-------------------------------------------------
describe student; -- 显示数据库中指定表的结构
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int | NO | PRI | NULL | |
| name | varchar(100) | NO | | NULL | |
| age | int | NO | | NULL | |
+-------+--------------+------+-----+---------+-------+
-------------------------------------------------------
create database test; -- 创建数据库
drop database test; -- 删除数据库
exit; -- 退出
-- 单行注释
/* (多行注释)
lka
aga
gasd
*/
数据库语言
- DDL: 数据库定义语言
- DML: 数据库操作与管理语言
- DQL: 数据库查询语言
- DCL: 数据库控制语言
外部访问
1,登进 MySQL 之后,
2,输入以下语句,进入 mysql 库:
use mysql
3,更新域属性,'%' 表示允许外部访问:
update user set host='%' where user ='root';
4,执行以上语句之后再执行:
FLUSH PRIVILEGES;
5,再执行授权语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
然后外部就可以通过账户密码和 ip 地址访问了。