一、MySQL概述
1. MySQL数据库三层结构:
① 安装数据库,就是在主机安装一个数据库管理系统 (DBMS),这个管理程序
可以管理多个数据库。DBMS (database manage system)
② 一个数据库中可以创建多个表,以保存数据(信息)
③ 数据库管理系统 (DBMS)、数据库(DB)和表的关系如图
① 数据库:数据存储的仓库
② 数据库管理系统:操纵和管理数据库的大型软件
③ SQL:操作关系型数据库的编程语言,是一套标准
MySQL数据库中数据的存储方式为表(行 row、列 column),
普通表的本质是文件
表的一行称之为一条记录 → 在java程序中,一行记录往往使用对象表示
2.MySQL数据库的启动和停止
在 DOS 输入命令
启动:net start mysql80
停止:net stop mysql80
方式二:客户端连接
输入 mysql [-h 127.0.0.1] [-p 3306] -u root -p
使用这种方式时,需要配置PATH环境变量
3. 关系型数据库(RDBMS):
建立在关系模型基础上,由多张相互连接的二维表组成的数据库
特点:
① 使用表存储数据,格式统一,便于维护
② 使用SQL语言操作,标准统一,使用方便
二、SQL
1. SQL通用语法:
① SQL语句可以单行或多行书写,以分号结尾
② SQL语句可以使用空格/缩进来增强语句的可读性
③ MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
④ 注释:
单行注释:-- 注释内容 或 # 注释内容(MySQL特有)
多行注释:/* 注释内容 */
2. SQL语句分类:
DDL:数据定义语句 [create 表,库,字段...]
DML:数据操作语句 [增加 insert,修改 update,删除 delete]
DQL:数据查询语句 [select]
DCL:数据控制语句 [管理数据库:比如用户权限 授予 grant,取消 revoke]
(1) DDL-创建表、库、字段
1) DDL-数据库操作
① 查询:
查询所有数据库:SHOW DATABASES;
查询当前数据库:SELECT DATABASE();
② 创建:
CREATE DATABASE [ IF NOT EXISTS ] 数据库名
[ DEFAULT CHAERSET 字符集 ] [ COLLATE 排序规则 ];
//CHAERSET,如果不指定字符集,默认utf-8
//COLLATE 常用 utf8_bin[区分大小写]、utf8_general_ci[不区分]
//默认 utf8_general_ci
③ 删除:(慎用)
DROP DATABASE [ IF EXISTS ] 数据库名;
④ 使用:
USE 数据库名;
⑤ 备份与恢复
备份数据库:(在DOS执行) 命令行
mysqldump -u 用户名 -p -B 数据库1 数据库2 数据库n > 文件名.sql
恢复数据库:(进入Mysql命令行再执行)
Source 文件名.sql
2) DDL-表操作
① 查询
查询当前数据库所有表:SHOW TABLES;
查询表结构:DESC 表名;
查询指定表的建表语句:SHOW CREATE TABLE 表名;
② 创建
CREATE TABLE 表名(
field1字段1 datatype字段1类型 [ COMMENT 字段1注释 ],
field2字段2