MySQL基础-01-授课笔记
一、数据库的基本概念
1.为什么要学数据库?
- 之前我们如果想将一些数据实现永久化存储,可以怎么做呢?没错。使用IO流的技术将数据保存到本地文件中
- 但是接下来我有这样一个需求:将下面的user.txt文件中的王五年龄修改为35
张三 23 男
李四 24 男
王五 25 女
赵六 26 女
周七 27 男
- 我们要如何实现呢?
- 可以采用字符缓冲流,将每一行数据读取出来,封装为User对象。将多个User对象保存到集合中
- 然后遍历集合,将王五对象的年龄修改为35,再重新将集合中的对象信息写回到文件中
- 这一套操作太麻烦了,而现在我们有一种更加方便的方式来完成这个需求了,这种方式就是数据库!
2.什么是数据库?
- 用于存储和管理数据的仓库
- 英文单词为:DataBase,简称DB
3.数据库的好处?
- 可以持久化存储数据
- 方便存储和管理数据
- 使用了统一的方式操作数据库 – SQL
4.常见的数据库有哪些?
- oracle* ;
- mysql* ;
- sql server 等等
二、MySQL数据库的介绍和安装
1.MySQL数据库介绍
- 小型的数据库
- 开源免费(6版本之前免费)
- 所属于Oracle公司
2.MySQL数据库安装
- 通过secureCRT工具连接Linux系统
- 上传 mysql 的安装包
alt + p -------> put d:/setup/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
- 解压 mysql 的安装包
mkdir mysql
tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar -C mysql/
- 安装客户端
cd mysql/
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm --force --nodeps
- 安装服务端
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm --force --nodeps
- 修改mysql默认字符集
vi /etc/my.cnf
添加如下内容:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
– 需要在最下方填写
[client]
default-character-set=utf8
- 启动mysql服务
service mysqld start
- 登录mysql
mysql -u root -p 敲回车,输入密码
初始密码查看:cat /var/log/mysqld.log
在root@localhost: 后面的就是初始密码
- 修改mysql登录密码
set global validate_password_policy=0;
set global validate_password_length=1;
set password=password(‘密码’);
- 授予远程连接权限
//授权
grant all privileges on . to ‘root’ @’%’ identified by ‘密码’;
//刷新
flush privileges;
- 关闭Linux系统防火墙
systemctl stop firewalld.service
3.MySQL数据库登录
三、SQL语句
1.数据库、数据表、数据的关系介绍
- 数据库
- 用于存储和管理数据的仓库
- 一个库中可以包含多个数据表
- 数据表
- 数据库最重要的组成部分之一
- 它由纵向的列和横向的行组成(类似excel表格)
- 可以指定列名、数据类型、约束等
- 一个表中可以存储多条数据
- 数据
2.SQL介绍
- 什么是SQL
- Structured Query Language:结构化查询语言
- 其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”。
- SQL通用语法
- SQL 语句可以单行或多行书写,以分号结尾。
- 可使用空格和缩进来增强语句的可读性。
- MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。
- 数据库的注释:
- 单行注释:-- 注释内容 #注释内容(mysql特有)
- 多行注释:/* 注释内容 */
SQL分类
- DDL(Data Definition Language)数据定义语言
- 用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
- DML(Data Manipulation Language)数据操作语言
- 用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等
- DQL(Data Query Language)数据查询语言
- 用来查询数据库中表的记录(数据)。关键字:select, where 等
- DCL(Data Control Language)数据控制语言(了解)
- 用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等
3.DDL-操作数据库
- R(Retrieve):查询
- 查询所有数据库
– 查询所有数据库
SHOW DATABASES;
- 查询某个数据库的创建语句
– 标准语法
SHOW CREATE DATABASE 数据库名称;
– 查看mysql数据库的创建格式
SHOW CREATE DATABASE mysql;
- C(Create):创建
- 创建数据库
CREATE DATABASE 数据库名称;
– 创建db1数据库
CREATE DATABASE db1;
– 创建一个已存在的数据库会报错