MySQL introduce
一 服务器
1服务器是一种软件 不是硬件 不是计算机
2不同服务器负责调用不同的文件类型
二 表文件 数据库 数据库服务器
1表文件:
①表文件是以".frm"结尾的一种文件
②存在于服务端计算机硬盘上
③以数据行的形式进行数据存储的文件
2表文件结构:
student.frm
标题行 sid sname sex age home
数据行 .. .. .. .. ..
ibd:存了每个表的元数据,包括表结构的定义等;无法直接读取。
frm:存了每个表的元数据,包括表结构的定义等;可以直接打开。
3数据库
开发人员将用于存放表文件的文件夹称为数据库
4数据库服务器
专门对表文件进行调用和管理的软件
三 SQL命令
1全称
Struct Query Language 结构化查询编程语言
2作用
通过SQL命令向数据库服务器发送请求对表文件调用管理
3特点
SQL语言包含主谓宾像日常说话 非常简单!
四 数据库服务器分类
1关系型数据库服务器
管理的表文件彼此之间有关系 可以完整描述一段数据 涉及信息过多查询速度不理想
2非关系型服务器【就像HashMap key-value】
表文件都是独立的 不能完整描述数据 但速度很快
五 关系型数据库服务器分类
1甲骨文 Oracle(高端!) Mysql
2微软 SQLserver
六 MySQL服务器启动与关闭
1注意管理员身份运行DOS
2net start mysql 启动服务器 net stop mysql 停止服务器
七 登录MySQL服务器命令
1命令格式
mysql -u用户名 -p密码
八 数据库管理
1MySQL服务器管理数据库位置 C:\mysql-8.0.23-winx64\Data
2查看所有数据库名称
show databases;
information_schema这个库是暂时的存储 服务器停止时这个库销毁
3创建数据库
create database 数据库名称;
也可以直接手动建立文件夹 以此类推 很多操作都可以手动进行
4删除数据库
drop database 数据库名;
九 表文件管理
1查看指定的数据库下所有表文件名称
use 要查看的数据库名称;
show tables;
2指定数据库下创建表文件
use 数据库;
create table 表文件名称(
字段名 数据类型名,
字段名 数据类型名 #最后一个字段不需要,
)
e.g.
create table hero(
-> id int,
-> name varchar(20),
-> age int
-> );
3删除表文件
drop table 表文件名称;
4查看表文件中字段信息
show create table 表文件名;
5为表文件添加字段
alter table 表文件名称 add 字段名 数据类型名;
6删除表文件的字段
alter table 表文件名称 drop 字段名;
十 表文件中数据行的管理
1插入命令:负责要求MySQL服务器向指定的表文件添加数据
insert into 表文件名 (字段名1,字段名2,字段名3)
value(值1,值2,值3); //MySQL中字符串都是用单引号括起来
2查询命令:要求MySQL服务器将指定表文件中数据行展示
select * from 表文件名;
3删除命令:删除指定表文件中数据行
delete from 表文件名; //删除表文件中所有数据行
delete from 表文件名 where 判断条件; //删除满足条件的数据行 注意MySQL中等于是一个等号
4更新命令:对指定表文件的数据行进行更新
update 表文件名 set 字段名=值,字段名2=值; //将所有数据行指定字段赋新值
update 表文件名 set 字段名=值,字段名2=值 where 判断条件;
十一 高级插入命令:
1一次性插入多行数据
insert into 表文件名(字段1,字段2,字段3)
values
(值1,值2,值3),
(值10,值20,值30); //这表示向表中插入了两行数据
2简化版插入命令:每一个字段都能赋值时 不需要指定字段名 注意保持顺序一致
insert into 表文件名 values(值1,值2,值3);
3数据行复制命令:将A中数据行复制到B表中(字段结构需完全一致 数目、顺序必须一样)
insert into B select * from A;
十二 对表文件进行备份:将表文件A进行一份备份,备份生成的表文件B
create table B select * from A;