MySQL数据库与数据表操作

#MySQL数据库与数据表操作

  • 数据库的操作
    • 数据库创建
    • 数据库删除
  • 数据表的操作
    • 数据表的创建
    • 数据表的修改 (表结构)
    • 数据表的删除
  • MySQL数据库的表引擎
  • 了解一下MySQL的字符集

MySQL数据库操作:

1.数据库的创建

# 链接mysql数据库后,进入mysql后可以操作数据

# 创建库
create database if not exists user default charset=utf8;
-- 1. 数据库 user 如果不存在则创建数据库,存在则不创建;
-- 2. 创建 user 数据库,并设置字符集为utf8
-- 3. 无特殊情况都要求字符集为utf8或者utf8mb4的字符编码

2.查看所有库

show databases;

3.打开库/进入库/选择库

use 库名;

4.删除库

drop database 库名;

删除库,那么库中的所有数据都将在磁盘中删除且无法恢复。

数据表操作:

1.创建表

语法格式:

create table 表名(字段名 类型 [字段约束],);

示例:

-- 以下创建一个 users 的表
create table users(
  -- 创建ID字段,为正整数,不允许为空 主键,自动递增
	id int unsigned not null primary key auto_increment,
  -- 创建 存储 名字的字段,为字符串类型,最大长度 5个字符,不允许为空
  username varchar(5) not null,
  -- 创建存储 密码 的字段,固定长度 32位字符, 不允许为空
  password char(32) not null,
  -- 创建 年龄 字段,不允许为空,默认值为 20
  age tinyint not null default 20
)engine=innodb default charset=utf8;
-- 创建表时,最后的default charset=utf8可以不写,因为创建库的时候已经写过了

-- 查看表结构
desc users;

-- 查看建表语句
show create table users;

创建表的基本原则:

  • 表明和字段名尽可能的符合命名规范,并且最好能够见名知意;
  • 表中数据必须有唯一标示,即主键定义。无特殊情况,主键都为数字并自增即可;
  • 表中字段所对应的类型设置合理,并限制合理长度;
  • 表引擎推荐使用innodb,并无特殊情况都要求为utf8或者utf8mb4的字符编码。

2.修改表结构:字段相关操作

【注意这里的修改表结构,是在操作表中的列,也就是字段;第二节里的数据操作,是在操作表中的行,也就是每一行信息】

【所以这里对字段的每个操作命令里,在表名前面都需要加一个’table’关键字,而数据操作里只需要在操作关键字后面跟表名。】

语法格式:

alter table 表名 action (更改的选项);

2.1 添加字段

alter table 表名 add 要添加的字段信息;

【追加分三种情况:在最前追加,在中间追加,在最后追加;如果命令中追加字段后面什么都没有,则默认在最后追加。】

【注意!追加里需要写字段信息!

-- 在user表中追加一个id字段,为主键,且自增
alter table user add id int unsigned not null primary key auto_increment;

-- 在指定字段后面追加字段:在user表中age字段后面 添加一个 email 字段
alter table user add email varchar(12) after age;

-- 在表的最前面添加一个字段
alter table user add abc char(10) first;

2.2 删除字段

alter table 表名 drop 要删除的字段名;

-- 在user表中删除字段abc
alter table user drop abc;

###2.3 修改字段

alter table 表名 change/modify 要修改的字段信息;

【注意这里也是字段信息!只有删除操作是drop关键字后面直接跟字段名就ok。】

change: 可以修改字段名,
modify: 不能修改字段名,只能修改字段的信息。

# 修改表中的 email 字段的类型,使用 modify 不修改表名
alter table user modify email char(10);

# 修改表中的 email 字段 为 int并且字段名为 pen
alter table user change email pen int default 10;

【注意:一般情况下,无特殊要求,不要轻易修改表结构】

3.修改表名

语法:

alter table 表名 rename as 新表名;

4.更改表中的自增值

# 在常规情况下,auto_increment 默认从1开始继续递增
alter table users auto_increment = 1000;
-- 再添加的数据的自增值就会从1000开始

5.修改表引擎

# 推荐在定义表时,表引擎为 innodb。
# 1.通过查看建表语句获取当前的表引擎
show create table users\G;
-- 最后这个 \G 可写可不写。

# 2.直接查看当前表状态信息
show table status from test where name = 'users'\G;
*************************** 1. row ***************************
           Name: users
         Engine: InnoDB
-- 这里的test是当前的库名,users是表名;同样,\G可写可不写。

# 修改表引擎语句
alter table users engine = 'myisam';

6.删除表

drop table 表名;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值