MySQL 数据库 Day 01
前言
提示:本文章内容是通过网上培训视频自我归纳总结,方便自己日后查看,如有不足之处,还请多多包涵
提示:以下是本篇文章正文内容,下面案例可供参考
一、数据库
SQL
- 结构化的查询语言
- 用来访问数据库
- DDL -数据定义语言,建库建表
- DML -数据操作语言,增删改
- DQL -数据查询语言,select
- 存储数据;
- MySQL、Oracle、SQL Server、DB2、SQLite…;
- 关系型数据库
- 数据以表格形式存放;
- No SQL;
二、MySQL 安装与使用
2.1 MySQL 介绍
- 开源免费数据库;
- 在互联网领域,是最常用的数据库;
- 被 Sun 以10亿美金收购,一年后,Sun 被 Oracle收购;
- MySQL 被 Oracle 收购后,存在闭源风险;
- 各大开源社区,已经不在支持MySQL;
- MySQL 的创始人,继续开发一个MySQL的分支版本,MariaDB;
- 开源社区都转向支持 MariaDB 的开发;
- 阿里投资 MariaDB 3000万;
- 阿里把自己开发的数据库新功能,免费共享给 MariaDB;
2.2.下载安装 MySQL
- MySQL 有收费版本,也有免费开源的社区版本;
- 下载开源社区版;
- 安装 MySQ L或 MariaDB 都可以;
提示:安装教程在站内随便搜就有一大堆,我就不做具体补充了,等以后有时间在把安装教程补上
2.3. MySQL 使用
- MySQL 数据库服务,是一个后台进程;
- 使用客户端来连接 MySQL
- MySQL 命令行客户端:mysql
基本语法:mysql -u 用户名 -p 密码 -h IP地址 -P 端口号(默认是3306)
- MySQL 命令行客户端:mysql
代码如下(示例):
mysql -uroot -p -h192.168.XXX.XXX -P3306
- MySQL 官方窗口客户端:Workbench;
- Navicat、SQLyog、MySQL-Front…;
2.4. MySQL 命令客户端
- 连接、登陆MySQL服务器
代码如下(示例):
mysql -uroot -p 登陆本机服务器
- 退出客户端,断开与服务器的连接
代码如下(示例):
1.exit
2.\q
三、对数据库进行操作
3.1.显示数据库列表
代码如下(示例):
1.show databass;
2.show schemas;
3.schema -就是数据库
3.2.进入数据库
基本语法:use 数据库名
代码如下(示例):
use test;
3.3.查看数据库中数据表的列表
代码如下(示例):
show tables;
3.4.MySQL用户
- MySQL 用户由 “用户名+IP地址” 来标识
基本语法:carete user '用户名'@'IP地址' identified by '密码'
代码如下(示例):
carete user 'root'@'192.168.XXX.XXX' identified by '1234'`
3.4.1.对用户授权
基本语法:grant 数据库的权限 privileges on 数据表的权限 to '用户名'@'IP地址'
代码如下(示例):
grant all privilieges on *.* to 'root'@'192.168.XXX.XXX'`
3.4.2.删除用户
基本语法:drop user '用户名'@'IP地址'
代码如下(示例):
drop user 'root'@'192.168.XXX.XXX'
3.5.库管理
3.5.1.创建库
基本语法:create database 数据库名 charset=编码
代码如下(示例):
create database db1 charset=utf8;
3.5.2.查看库
代码如下(示例):
1.show databases;
2.show schemas;
3.use db1;
4.show tables;
3.5.3.修改库
- 对数据库只能修改它的默认字符编码
基本语法:alter database 数据库名 charset 编码
代码如下(示例):
alter database db1 charset gbk;
3.5.4.删除库
- 删除数据库,会把内容所有数据表全部删除,且不可恢复
基本语法:drop database 数据库名
代码如下(示例):
drop database db1;
四、对数据表进行操作
4.1.修改表
4.1.1.修改表名
基本语法:rename table 表名1 to 表名2
代码如下(示例):
rename table tb1 to tb2;
4.1.1.修改表的参数(引擎、编码)
基本语法:alter table 表名 engine=引擎 chartset=编码
代码如下(示例):
alter table tb2 engine=myisam chartset=gbk;
4.2.添加字段
- first -加到最前面
基本语法:alter table 表名 add 字段名 字段类型 first
代码如下(示例):
alter table tb2 add gender varchar(4) first;
- after -指定加到哪个字段之后
基本语法:alter table 表名 add 字段名 字段类型 after 字段名
代码如下(示例):
alter table tb2 add height int after name;
-添加指定字段
基本语法:alter table 表名 add (字段名1 字段类型1,字段名2 字段类型2...)
代码如下(示例):
alter table tb2 add (
weight int,
tel varchar(20));
desc tb2; -- 查看表
show create table tb2\G --将查询表结果进行按列打印
4.3.修改字段名
基本语法:alter table 表名 change 字段名1(修改前) 字段名2(修改后) 字段类型2
代码如下(示例):
alter table tb2 change gender sex varchar(4);
4.4.修改字段类型
基本语法:alter table 表名 modify 字段名1 字段类型1
代码如下(示例):
alter table tb2 modify height decimal(3,2);
4.5.修改字段位置
基本语法:alter table 表名 modify 字段名 字段类型 first
代码如下(示例):
alter table tb2 modify name varchar(20) first;
基本语法:alter table 表名 modify 字段名 字段类型 after 字段名
代码如下(示例):
alter table tb2 sex varchar(4) after name;
4.6.删除字段
- 整列数据会被删除,不可恢复
基本语法:alter table 表名 drop column 字段名
代码如下(示例):
alter table tb2 drop column weight;
4.7数据类型
- varchar 类型
- 如果长度小于等于255,前面有一个字节,表示字节长度
- 如果长度大于255,前面有两个字节,表示字节长度
- 如果表中字段,只要有允许null值得字段,那么需要有额外的一个字节来表示
五、Insert 插入数据
基本语法:insert into 表名 values
(值1,值2…)
代码如下(示例):
insert into tb1 values`(值1,值2....);
六、update 修改数据
基本语法:update 表名 set 字段1=值1,字段2=值2,字段3=值3 where...
七、update 修改数据
基本语法:delete from 表名 where ...
八、select 查询
基本语法:select * from 表名
基本语法:select 字段1,字段2... from 表名
九、数据库存储引擎
-
innodb
-
默认推荐引擎
-
支持事务
-
支持外键
-
提供行级锁
-
表文件:
- tb1.frm 保存表的结构
- tb1.ibd 保存数据、索引
-
myisam
-
不支持事务
-
不支持外键
-
数据访问效率更高
-
只提供表级锁
-
表文件:
- tb2.frm 保存表的结构
- tb2.MYD 保存数据
- tb2.MYI 保存索引数据
-
memory 内存表
十、练习
提示:练习题等有时间再添加上去
例如:以上就是第一天要学习的内容,本文仅仅简单介绍了 MySQL 的使用,而 MySQL 具体操作待后面持续更新。