小孔_H: 该 MySQL 系列文章每一部分的内容都非常重要,我结合了个人使用总结及相应笔记对 MySQL 进行按语句模块进行划分,非常适合一点一点看文章结合实践来学习下去(整个系列学完后开发常用 SQL 语句不成问题)
初识MySQL
基本概念
《了解 ↓》
数据库的基本概念
- 数据库(DataBace-DB):数据库用于存储数据和管理数据的软件系统
常见的数据库软件
- MySQL:开源免费(并非都免费)的数据库,小型数据库
- Oracle:收费的大型数据库。Oracle公司的产品。Oracle收购Sun公司,收购MySQL(Sun公司)
- SQLite:嵌入式小型数据库,应用在手机端
MySQL数据库的特点和优势
- 1.MySQL性能卓越、服务稳定,很少出现异常宕机
- 2.MysQL开放源代码且无版权制约,自主性及使用成本低
- 3.MysQL历史悠久,用户使用活跃,遇到问题可以寻求帮助
- 4.MySQL体积小,安装方便,易于维护
- 5.MysQL口碑效应好,是的企业无需考虑就用之,LAMP、LNMP 流行架构
- 6.MySQL支持多种操作系统,提供多种API接口,支持多种开发语言,特别是PHP
关系型数据库结构:关系数据库 = 多张表 + 各表之间的关系
表与表之间的关系:…
可视化客户端工具
navicat:…
sqlyog:…
DataGrip(课程所用工具):…
用什么工具不重要,重要的是要掌握SQL语句
便于第三方工具进行连接[远程授权]
在cmd中操作:
-
1.进入mysql后再执行
grant all privileges on *.* to '用户名'@'%'identified by '登录密码' with grant option;
- [ grant:允许 - privileges:特权 - .:所有库的所有表 - %:代表所有ip(ip) ]
- 这句话可以理解为:允许所有的权限给root用户(即相当于无论root用户在哪一台机器或ip等都可以有该数据库的所有权限)
-
2.刷新特权表
flush privileges;
- 此时第三方工具就可以连接上mysql数据库(如果没有该权限的设置,第三方工具等将无法连接上该数据库)
SQL语句DDL
什么是SQL语句:SQL(Struct Query Language-结构化查询语言) 就是对数据库进行操作的一种语言
SQL语言分类:
- DDL(Data Definition Language-数据定义语言):
CREAT TABLE、ALTER TABLE、DROP TABLE、CREATE/DROP INDEX
- DML(Data Manipulation Language-数据操作语言):
INSER、DELETE、UPDATE (主要是对表进行增、删、改操作)
- DQL(Data Query Language-数据查询语言):
SELECT <字段名> FROM <表或视图> WHERE <查询条件>
- DCL(Data Control Language-数据控制语言):
GRANT\ROLLBACK、COMMIT (有时也会叫TCL:事务控制语言)
数据库SQL操作
1.数据库的基本创建与使用:
-
SHOW DATABASES; # 显示已有的所有数据库 CREATE DATABASE IF NOT EXISTS stu; # 创建stu数据库(IF NOT EXISTS:如果不存在改同名的数据库就创建,反之不存在) USE stu; # 使用stu数据库 SELECT database() # 查看当前使用数据库
2.查看数据库创建语句:
-
# show create database 数据库名; SHOW CREATE DATABASE stu;
3. 修改数据库
-
ALTER DATABASE IF NOT EXISTS 数据库名 [DEFAULT] CHARACTER SET 字符集