3.MySQL库和表的操作

数据库的操作

创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification[, create_specification] ...]
create_specification:
	[DEFAULT] CHARACTER SETcharSet_name
	[DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字
  • []是可选项
  • CHARACTER SET指定数据库采用的字符集
  • COLLATE指定数据库字符集的校验规则

示例:
在这里插入图片描述
在对应的目录下查看
在这里插入图片描述
发现多了一个目录文件。所以创建数据库:create database db_name;本质就是在/var/lib/mysql创建一个目录

数据库删除

语法:

DROP DATABASE [IF EXISTS] db_name;

注意:删数据库的时候,在linux下整个目录就被删了,数据库里的数据也会被删除,在生产环境中的时候,特别不建议直接对数据库直接删除,如果想删除,最好先备份再删除

示例:
在这里插入图片描述
在对应的目录下查看
在这里插入图片描述
发现没有helloworld这个目录了。所以删除数据库:drop database db_name;本质就是在/var/lib/mysql删除一个目录

字符集和校验规则

只要是数据就一定要有编码格式,数据库与数据打交道,要求编码必须是统一的,程序员写数据的时候设定编码格式,数据库处理数据并存数据的时候就要采用该编码来处理,所以取数据的时候我必须以同样的编码来取。好比在现实生活中,一个人往本子上写汉语,它采用的是汉语的编码格式,另一个人想要读懂写的文字,就必须用汉语的方式来读取。

创建数据库的时候有两个编码集:
1。数据库编码集 – 数据库未来存储数据时采用什么编码
2。数据库校验集 – 把数据存到数据库里了,未来对数据的增删查改,在读的时候要校验,使用的校验规则必须是一样的,校验规则影响数据排序等方面
查看编码集和校验集
在这里插入图片描述
show charset;查看数据库所支持的字符集
show collation; 查看数据库支持的字符集校验规则

指定编码创建数据库

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8(utf8mb3可以认为就是utf8),校验规则时:utf8_general_ci。这和我们之前配置的数据库有关
在这里插入图片描述

创建d2数据库时,指明了编码规则,又指明了校验规则
在这里插入图片描述

校验规则对数据库的影响

创建一个数据库,校验规则使用utf8_general_ci[不区分大小写]
在这里插入图片描述
不区分大小写的查询结果:
在这里插入图片描述
不区分大小写的排序结果
在这里插入图片描述

创建一个数据库,校验规则使用utf8_bin[区分大小写]

在这里插入图片描述
区分大小写的查询结果:
在这里插入图片描述
区分大小写的排序结果:
在这里插入图片描述

数据库的改

修改数据库
语法:

ALTER DATABASE db_name [alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明:
对数据库的修改主要指的是修改数据库的字符集,校验规则。

示例
在这里插入图片描述

数据库的查

查看数据库

show databases;

显示创建语句

show create database db_name;

示例
在这里插入图片描述
说明:
MySQL建议我们关键字使用大写,但是不是必须的
数据库名字名字的反引号,是为了防止使用的数据库名刚好是关键字
/!40100 default…*/这个不是注释,表示当前mysql版本大于4.01 版本,就执行这句话

数据库的备份与恢复

在linux下是如何备份的呢?就是cp命令copy一份,数据库的数据当然也可以这样做,但这样会存在一个问题,版本可能会不匹配导致一系列的问题。

mysql提供了备份的解决方案

语法:
备份数据库

linux命令# mysqldump -P3306 -uroot -p -B 指定的数据库 > 指定备份的路径

示例:备份test1数据库
在这里插入图片描述

备份表
linux命令# mysqldump -P3306 -uroot -p -B 指定的数据库 表名1 表名2... > 指定备份的路径

示例:
在这里插入图片描述

还原:

sql命令> source 指定的路径(/home/test1.sql);

示例:还原数据库
在这里插入图片描述
还原表
在这里插入图片描述

表的增删查改

创建表:

语法:

CREATE TAB LE table_name(
	field1 datatype,
	field2 datatype,
	field3 datatype
)character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field表示列名
  • datatype表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

示例:
在这里插入图片描述

查看表

在这里插入图片描述
查看表的详细信息:
在这里插入图片描述
查看创建表的时候的信息:
在这里插入图片描述

修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,大小,类型,表单字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这是我们就需要修改表(并不是对表里的内容进行操作)。

语法:

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);

示例:
在这里插入图片描述
下面来尝试对表的修改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改表名:
在这里插入图片描述

删除表:

语法:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

示例:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值