文章目录
- 1.数据库操作
- 1.1 创建、删除、查看和修改
- 1.2 编码格式
- 1.3 备份和恢复
- 2.表的操作
- 2.1 创建表
- 2.2 存储引擎
- 2.3 查看表、修改表、删除表
- 3.数据类型
- 3.1整数类型
- 3.2字节类型(bit)
- 3.3浮点类型(bit)
- 3.4 decimal
- 3.5 字符串类型
- 3.6 日期和时间类型
- 3.7 enum和set
- 关于如何查找想要的数据
system clear;//清屏!
show processlist //查看连接情况,看几个人正在使用当前数据库
1.数据库操作
1.1 创建、删除、查看和修改
create database 名字; //创建数据库
show databases; //查看数据库列表
drop database 名字; //删除数据库
select database(); //确定自己当前在哪个数据库里
alter database test2 charset=gbk collate gbk_chinese_ci;//修改编码格式
1.2 编码格式
show charset;//查看数据库支持的字符集,字符集主要是控制用什么语言。比如utf8就可以使用中文。
show collation;//查看数据库支持的字符集校验规则
create database db2 charset=utf8; //创建一个使用utf8字符集的 db2 数据库
create database db3 charset=utf8 collate utf8_general_ci; //创建一个使用utf字符集,并带校对规则的 db3 数据库。
1.3 备份和恢复
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径 //备份
备份后会在指定文件路径下生成一个 数据库名.sql的文件
source /home/lv/mysql/数据库名.sql的文件 //也就是source 路径,恢复数据库
如果备份的不是整个数据库,而是其中的一张表,怎么做?
如下:
mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql //不是备份整个数据库而是备份表
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径 //同时备份多个数据库
提示:
如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。
2.表的操作
2.1 创建表
CREATE TABLE table_name (
field1 datatype comment '描述',
field2 datatype comment '描述',
field3 datatype comment '描述'
) character set 字符集 collate 校验规则 engine 存储引擎;
field 表示列名
datatype 表示列的类型
character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
2.2 存储引擎
不同的存储引擎,创建表的文件不一样。
①引擎是 MyISAM,数据目中有三个不同的文件,分别是
users.frm:表结构
users.MYD:表数据
users.MYI:表索引②引擎是 InnoDB,数据目录中有两个不同的文件,分别是
users.frm:表结构
users.ibd:表数据和表索引
2.3 查看表、修改表、删除表
desc 表名;//查看表:
show create table 表名;//查看更详细信息,如果比较乱可以在后面加上\G
show create table 表名 \G
修改举例:
alter table 表名 rename to employee;//修改表名为employee
mysql> insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-04');//表插入
mysql> alter table users add assets(哪一列) varchar(100)(这一列的属性) comment '图片路径' after birthday(在哪一列的后面);//在表添加一个字段,用于保存图片路径
alter table users(表名) modify name(改谁) varchar(60);//修改name,将其长度改成60
alter table users(表名) drop password(删除谁);//删除某一列
alter table employee change name xingming varchar(60);//将name列修改为xingming, 新字段需要完整定义
删除表:
drop table 表名;
3.数据类型
3.1整数类型
3.2字节类型(bit)
bit[(M)] : 位字段类型。M表示每个值的位数,范围从1到64。如果M被忽略,默认为1。
3.3浮点类型(bit)
flout和double!
float[(m, d)] [unsigned] : M指定显示长度,d指定小数位数,占用空间4个字节
3.4 decimal
decimal(m, d) [unsigned] : 定点数m指定长度,d表示小数点的位数
3.5 字符串类型
char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255
varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节
utf-8编码一个汉字是三个字节!
varchar长度可以指定为0到65535之间的值,但是有1 - 3 个字节用于记录数据大小,所以说有效字 节数是65532。
当我们的表的编码是utf8时,varchar(n)的参数n最大值是65532/3=21844[因为utf中,一个字符占用3个字节],如果编码是gbk,varchar(n)的参数n最大是65532/2=32766(因为gbk中,一个字符 占用2字节)。
3.6 日期和时间类型
3.7 enum和set
说明:不建议在添加枚举值,集合值的时候采用数字的方式,因为不利于阅读。
enum和set允许为空!