目录
一、数据库的库操作
数据库的创建
create database (if not exists) 库名
这里的if not exists 是一个判断用的,如果数据库存在,就不执行语句,如果数据库不存在,则执行该语句。
创建数据库,实际就是在Linux的/var/lib/mysql目录下创建一个新的目录。
查看数据库 : show databases;
数据库的编码集:数据库用来存储数据
数据库的校验集:数据库查找,进行字段比较使用的,本质是读取数据库数据时采用的编码格式,就比如uft8_general_ci是不区分大小写,utf8_general_bin是区分大小写.
——
查看数据库默认的编码集:
show variables like 'character_set_database';
查看数据库默认的校验集:
show variables like 'collaction_database'
查看数据库支持的编码集:
show charset;
查看数据库支持的校验集:
show collation;
创建一个采用指定字符集和校验集的数据库
create database 库名 charset=字符集 collate=校验集;
修改数据库的字符集或校验集
alter database 库名 charset=字符集 collate=校验集
查看数据库创建时候的信息
show create database 库名;
这里的!号后面是版本大于4.01的数据库默认执行后面的语句
删除数据库
drop database 库名;
备份数据库
在shell命令行下,执行:
mysqldump -u root -p 密码 -B 库名 > 备份的路径(这里我配置了免密模式)
我们查看备份的文件
我们能够看到create database这样的语句,说明,我们的数据库,在备份的时候,不仅备份数据,还备份了你对数据库操作的痕迹。
恢复数据库
source 路径下的库
查看数据库的连接情况
show processlist;
二、数据库的表操作
创建一个表:
create table (if not exists) 表名字(
列名字 列类型 comment 描述,
......
)charset=字符集 collate=校验集 engine 存储引擎;
这里不指定字符集,就采用默认的。
查看当前数据库的表内容
select * from 表名 where name='列名';
查看当前数据库有哪些表
show tables;
查看表的详细信息:
desc 表名
查看创建表时的详细信息:
show create table 表名 \G;
修改表
- 添加列 :alter table 表名 add 列名字 列的数据类型 comment '描述' after 哪一列的后面
- 修改列 :alter table 表名 modify 列名字 新属性(数据类型)
- 删除列 :alter table 表名 drop 列名;
- 修改表名 :alter table 表名 rename to 新表名
- 修改列名称: alter table 表名 change 列名 新列名字 新属性
- 删表 :drop table 表名