mysql创建表格增加数据
Mysql是目前较为流行的关系型数据库
关系型数据库:
建立在关系模型基础上的数据库,借助于集合数学概念和方法来处理数据库中的数据。
特点:
1.数据以表格形式展示
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.行和列组成一张表
5.表单组成database
1.命令窗口(cmd)->进入mysql安装目录的bin目录
2.连接
mysql -u “username” -p
输入密码
创建数据库
Create database 数据库名称;
查询数据库
show database;
删除数据库
drop database 数据库名称;
选择数据库
use 数据库名称;
创建表格
create table 表格名(
列名,类型,
列名,类型,
列名,类型,
primary key(列名)
);
查看数据库内有哪些表格
show tables;
查看表格结构
desc 表格名;
删除表格
drop table 表格名;
插入数据
insert into 表格名(列名,列名……列名)values(值,值.....值)
读取数据
select * from 表格;
数据库架构:
大致分为server和存储引擎
server:
负责管理连接,权限验证,对sql语句进行词义分析,语法分析,优化和执行
存储引擎:
存储数据,提供读写接口
client与mysql相互连接的桥梁
mysql -u root - p:连接命令
->连接器
作用:用于客户端连接mysql,获取mysql的连接,断开连接
也在此时验证用户的权限,连接中的权限判断逻辑就在这个地方进行
mysql有timeout机制,如果太长时间处于空闲状态可能下次要操作的时候需要再次登陆。
长连接:
如果用户登陆以后没有断开连接,后续有持续的请求一直使用这一个连接就是长连接。
在mysql确认语句为查询语句时会现在缓存中查找看看是否之前有过执行记录,有的话直接获取,就不进行后续的操作了。
在mysql8.0以后没有查询缓存模块了。
3.分析器
词法分析:
因为数据的sql是由很多的字符串和空格构成的。这个时候mysql会把语句拆开来,识别出字符串是什么,代表什么意思。
在这个阶段也会去判断表是否存在,列是否存在
select * from student where xx =1
识别出select->查询语句
student->表名
xx->列id
语法分析:
根据语法判断sql语句有没有符合规范
sekect * from student;
sekect->识别出应该是查询语句select但是语句有问题->报错
you have an error in your sqk syntax(语法报错)
优化器:
1.针对表中存在多个索引,要使用哪个索引
2.多表关联的时候,表的连接顺序
主要是执行的效率差别。
执行器:
判断有没有表格的执行权限
再进行执行