文章目录
- 启动mysql
- 登录mysql
- 1.MySQL环境安装与基础认识
- 修改端口号
- 连接服务器
- 服务器,数据库,表关系
- 建表
- 第二讲_库与表的操作
- 1.创建数据库
- 2.创建数据库案例
- 3.指明字符集和校验集
- 校验规则对数据库的影响
- 不区分大小写的查询以及结果:
- 区分大小写的查询以及结果
- 根据name属性进行排序
- 删除数据库
- 备份和恢复 -- 放在最后
- 查找数据库
- 修改数据库
- 创建表
- 查看表
- 修改表
- 删除表
- Mysql用户管理
- 创建用户
- 删除用户
如果要正常使用mysql,必须确保有这三个文件
- mysql是数据库的客户端
- mysqld是数据库的服务端
(mysql是服务器和客户端的模式)
启动mysql
(启动mysql的服务端,即就是mysqld)
systemctl start mysql
mysql是网络层服务,是应用层进程
登录mysql
查看版本
刚开始登陆的时候,mysql只有一个root账号
1.MySQL环境安装与基础认识
修改端口号
默认端口号是3306,可以修改端口号
vim /etc/my.cnf
然后重启mysql
systemctl restart mysqld
连接服务器
mysql -h 127.0.0.1 -P 3306 -u root -p
服务器,数据库,表关系
- 创建数据库
进入数据库
默认不指明ip,不指明端口的话,就默认是本地,3306
创建数据库
刚刚这些步骤的本质就是:我把我的客户端构建了一个sql,这个sql语句通过网络或者进程间通信交给我们的服务端进程。服务端进程收到了我这条sql指令,然后在他的进程内部一定有对应的系统调用帮我们创建了这个目录,这就叫做数据库
建表
如果想要在数据库下建表,一定要先进入数据库
使用XXX数据库
use xxx
查看现在在哪个数据库
select database();
下面建表
别建一个数据库本质在Linux是在做什么?? 在mysq中,建立一个数据库 create database XXX本质在lnux下是建立了一个目录!
建表本质在Linux上是在做什么? ? 在mysgl中,建立一个表本质是在Linux上创建对应的文件!
往表里面插入信息
查询表中的数据
第二讲_库与表的操作
数据库的基本功能:
- 对数据库和表结构更多的是属性操作
- 对数据库和表结构,更多的是数据内容操作
1.创建数据库
create database 数据库名;
2.创建数据库案例
1.创建一个数据库
3.指明字符集和校验集
校验规则对数据库的影响
设置数据库的编码和校验规则,本质会影响谁?其实是影响对应的数据库内部的表,所对应的编码和校验规则
(1)创建一个数据库gc_db,校验规则使用utf8_ general_ ci[不区分大小写]
(2)创建一个数据库bin_db,校验规则使用utf8_ bin[区分大小写]
不区分大小写的查询以及结果:
(3)选择使用gc_db数据库
(4)在数据库里面创建一个表结构
create table person(name varchar(20));
查一个表的属性列:
desc person;
插入一些属性:
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
不区分大小写的查询以及结果:
name为a的
select * from person
select * from person where name='a';
区分大小写的查询以及结果
使用bin_db数据库,按上面的步骤再走一遍,创建表,插入属性
根据name属性进行排序
1.区分大小写
默认升序排序
select * from person order by name;
2.不区分大小写
默认升序排序
删除数据库
对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
drop database 数据库名;
备份和恢复 – 放在最后
备份
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
示例:将mytest库备份到文件(退出连接)
mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest.sql
查找数据库
show database;
修改数据库
- 对数据库的修改主要指的是修改数据库的字符集,校验规则
实例: 将 mytest 数据库字符集改成 gbk
alter database gc_db charset=gbk;
alter database gc_db charset set utf8mb4;
目前不支持数据库名字的修改,可以修改表名
创建表
create table XXX
create table users (
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;
创建表案例:
查看表
- 查看表结构
desc XXX;
- 查看表
select * from 表名;
修改表
在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,
表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename DROP (column);
- 在users表添加一个字段,用于保存图片路径
mysql> alter table users add assets varchar(100) comment '图片路径' after birthday;
- 在users表添加二条记录
mysql> insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-
04');
- 修改name,将其长度改成60
mysql> alter table users modify name varchar(60);
- 删除password列
注意:删除字段一定要小心,删除字段及其对应的列数据都没了
mysql> alter table users drop password;
- 修改表名为employee
mysql> alter table users rename to employee;
- 将name列修改为xingming
mysql> alter table employee change name xingming varchar(60); --新字段需要完整定义
删除表
drop table t1;
Mysql用户管理
创建用户
语法:
create user '用户名'@'登陆主机/ip' identified by '密码';
案例:
mysql> create user 'whb'@'localhost' identified by '12345678';
删除用户
语法:
drop user '用户名'@'主机名'
示例: