有些聚散如转瞬,有些聚散却如隔世。
前言
这是我学习mysql数据库的第一篇笔记。后期我会继续把mysql数据库笔记开源至博客上。
mysql基础知识
mysql的必要性
1. 文件虽然也可以存储数据,但是不利于数据查询和管理,也不利于存储海量数据。
2. 所以专家们设计出更加利于管理数据的东西--->数据库,它能更有效的管理数据。
登入退出指令
#在Linux中登入mysql
mysql -u user_name
--从mysql中退出,回到Linux中
exit;
mysql-mysqld
1. mysql是数据库服务的客户端。
2. mysqld是数据库服务的服务器端。
3. mysql本质是基于CS模式的一种网络服务。
4. mysql是一套给用户提供数据存取服务的网络程序。
mysql-databese-Linux
1. 在mysql中建立一个数据库,本质上就是在Linux中建立一个目录。
2. 在数据库内建立一张表格,本质上就是在Linux中建立一个的文件。
3. 这之间的转换过程就是mqsqld服务做的。
服务器-数据库-表
1. Client:本质是mysql客户端。
2. MySQL:本质是mysqld服务端。
3. DB:本质是一个数据库,在Linux下是一个目录。
4. 表:本质是一个表格,在Linux下是一个文件。
sql语言分类
1. DDL:数据定义语言,用来维护存储数据的结构。
2. DLM:数据操纵语言,用来对数据进行操作指令。
3. DCL:数据控制语言,用来负责管理权限和事务。
操作指令
操作数据库
--创建一个数据库,本质上就是在Linux的 /var/lib/mysql 路径下面创建一个目录。
create database db_name;
--显示现有的所有数据库,本质上就是显示在Linux的 /var/lib/mysql 路径下面创建的目录。
show databases;
--删除一个数据库,本质上就是在Linux的 /var/lib/mysql 路径下面删除一个目录。
drop database db_name;
--进入一个数据库,本质上就是进入一个在Linux的 /var/lib/mysql 路径下面的目录。
use db_name;
--查看数据库创建时的信息。
show create database db_name;
--修改数据库的字符集和校验集。
alter database db_name character set = utf8mb4 collate = utf8mb4_unicode_ci;
字符集与校验集
--查询当前数据库的字符集
show variables like 'character_set_database';
--查询当前数据库的校验集
show variables like 'collation_database';
--查看数据库支持的字符集
show charset;
--查看数据库支持的校验集
show collation;
--在创建时指定字符集和校验集
create database db_name charset=utf8 collate utf8_general_ci;
--创建后指定字符集与校验集
alter database db_name character set = utf8mb4 collate = utf8mb4_unicode_ci;
备份与还原
#将位于windows系统上的sql文件上传到Linux系统的指定目录下。
scp -r "windows_file_address" linux_user_name@linux_ip:linux_file_address
#将位于mysql上的一个数据库备份到Linux系统的指定文件中。
mysqldump -u user_name -B db_name > 数据库备份存储的文件路径
--将位于Linux系统中的一个数据库备份文件还原到mysql中。
source 数据库备份存储的文件路径;
查看连接情况
--查询当前有哪些用户连接到我们的mysql。
show processlist;
操作表
--创建一个表格
create table tb_name(
column1 data_type,
column2 data_type,
column3 data_type
);
--显示数据库中现有的表格
show tables;
--查看表格的信息
desc tb_name;
--查看表格创建时的信息
show create table tb_name \G;
--修改表格的名字
alter table tb_name1 rename to tb_name2;
--向表格中插入一条数据
insert into tb_name(column_name1,column_name2...) values(value1,value2...);
--向表格中新增一列
alter table tb_name add column_name datatype;
--修改表格中的列属性
alter table tb_name modify column_name datatype;
--删除表格中的一列
drop tb_name column_name;
--删除表格
drop table tb_name;
致谢
感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!