基础知识
数据库本质:对数据内容存储的一套解决方案,你给我字段或要求,我直接给你结果。
1创建数据库本质就是创建Linux下的一个目录
2.创建表本质就是在Linux下创建文件。这些工作是mysqld做的。
3.我的理解是数据库提供一层封装,实现对操作系统层面文件相关的操作
SQL分类
数据库的操作
创建数据库
字符集校验
数据库无论对数据做任何操作,都必须保证操作和编码必须是一致的
字符集
校验集
utf8_general_ci表示不区分大小写校验时
utf8_bin表示校验时区分大小写
显示指定数据库编码集和校验集
create database db3 charset=utf8 collate utf8_general_ci;
目的是在次数据库中创建的表都遵循此规则
插入数据时采用的是字符集的校验规则,查找数据排序数据采用的是校验集的编码规则
修改数据库
修改数据库一般是修改数据库的校验规则和字符集
alter database mytest charset=gbk;
备份数据库
备份
mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest.sql
还原
mysql> source D:/mysql-5.7.22/mytest.sql;
注意:
如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。
表的操作
创建表
create table if not exists user1(
-> id int,
-> name varchar(20) comment '用户名',
-> password char(32) comment '密码',
-> birthday date comment '生日'
-> );
不同的存储引擎,创建表的文件不一样
查表
desc table_name;
show create table use1 \G;
修改表
改表名字
改列名称
alter table user change name Name varchar(60);
插入数据
新增1列
alter table user add image_path varchar(128) after birthday;
修改一列
alter table user modify name varchar(60);
删除一列
alter table user drop password;