必备技能:MySQL 库和表操作全攻略

目录

数据库的操作

1.创建数据库

2.指定字符集和校验集

校验规则对数据库的影响

3.删除数据库

4.查看数据库

显示创建语句

5.修改数据库

6.数据库的备份

7.数据库的还原

8.查看连接情况

表的操作

1.创建表

2.查看表结构

3.修改表

4.删除表


数据库的操作

1.创建数据库

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

创建数据库使用的是create指令,输入指令create database XXX;就可以简单地创建一个数据库,其中XXX代表的是数据库的名称。

我们还可以在创建数据库的时候加上if not exists选项,表示如果该数据库不存在才创建,如果存在了就不创建了。这个选项是可以选择填或者不填的。

例如:create database is not exists XXX。

2.指定字符集和校验集

数据库是用来存储数据的,所以数据库在创建的时候必须有统一的编码。当我们用数据库存储数据时,需要按照特定的编码来进行存储,这由字符集保证。当我们从数据库中取数据时,需要按照特定的编码来比较数据,这由数据库的校验编码来保证。所以我们在创建数据库时规定好了统一的编码之后,一般字符集和校验规则是匹配的。

我们可以用show charset;查看数据库支持的字符集:

还可以用show collation;查看数据库支持的字符集校验规则:

我们可以在创建数据库的时候指定校验集,但是一般不需要我们自己指定,因为我们只需要指定字符集,MySQL就会帮我们自动匹配对应的校验集。如果要自己指定校验集,可以使用指令create database test_d1 charset=utf8 collate utf8_general_ci;进行设置。

校验规则对数据库的影响

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

创建一个数据库,校验规则使用utf8_ bin[区分大小写]       还有排序顺序等

3.删除数据库

删除数据库使用的是drop指令,其语法为drop database [if exists] XXX;

DROP DATABASE [IF EXISTS] db_ name;

执行删除之后的结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

注意:不要随意删除数据库

4.查看数据库

查看数据库使用的是show指令,输入指令show databases;就可以查看当前已经创建好的数据库:

显示创建语句

我们可以用show create database 数据库名;来查看创建数据库时的语句。例如我们查看test_d1的创建语句,则输入指令show create database test_d1;:

注意:

  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

5.修改数据库

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

修改数据库使用的是alter指令,需要说明的是,修改数据库主要指对数据库的字符集、校验集的修改,MySQL语句早期是有修改数据库名称的语句的,但现在已经没有了,MySQL目前不支持修改数据库名称,要想修改只能删除数据库重新创建。

例如:原本test_for_database的字符集是gbk,我们想将test_for_database数据库的字符集改成utf8,输入指令alter database test_for_database charset=utf8;

6.数据库的备份

我们有时候可能会误删数据,所以备份是十分有必要的。

MySQL数据库备份可以使用mysqldump工具,可以将指定的数据库备份到指定的文件里。

# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

我们发现事实上MySQL的备份并不是将数据库的内容进行备份,而是将该数据库历史上的所有操作语句进行备份,只需要将该数据库的所有操作语句保存起来,未来在恢复的时候,只需要将该文件里的所有语句再从头到尾执行一次,就可以恢复出一模一样的数据库了。

7.数据库的还原

我们使用mysqldump工具将数据库备份到指定的文件之后,可以使用source指令还原该数据库。在MySQL客户端执行指令source 备份文件带路径的文件名;即可恢复数据库。

提醒:路径可以用pwd去查找

8.查看连接情况

我们当前采用的MySQL是root用户,MySQL可以多个用户同时登录,也可以使用show processlist;指令查看当前有哪些用户在使用我们的数据库:


表的操作

1.创建表

创建一张表使用的也是create命令,和创建一个数据库有点类似,只不过创建数据库是create database,而创建表是create table。

create table 表名称 (
	列名称 列类型
	列名称 列类型
) charset=字符集 collate 校验规则 engine 存储引擎;

注意,创建表前,需要确定一下自己现在正在使用哪个数据库。

2.查看表结构

desc 表名;

3.修改表

在项目的实际开发中,经常会修改表的某个结构,比如某个字段的名字、字段的大小、字段的类型、表的字符集校验集、表的存储引擎等等。修改表使用的是alter指令,修改的操作主要是指修改表的属性,包括增加表的属性、修改表的属性、删除表的属性。其基本语法如下:

alter table 表名 add (字段名 字段类型 说明 加入位置);

alter table 表名 modify (字段名 字段类型 说明);

alter table 表名 drop (列名);

插入数据

insert into users values(1,'a','b'),(2,'b','c');

修改name,将其长度改成60

mysql> alter table users modify name varchar(60);

删除password列

mysql> alter table users drop password;
mysql> desc users;

除此之外,我们还可以修改列名称以及表名称,例如我们将name列名称改为xingming,使用以下语句:

alter table student change name xingming varchar(60); //新字段需要完整定义

如果我们想将student的表名改成users,使用以下语句:

alter table student rename to `user`;

4.删除表

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

例如:

drop table users 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值