请先安装datagrip再在root数据库中运行下面的命令

先查看一下所有的数据库吧

show databases;

好的,我们已经看到了mysql中的所有数据库。

下面,我们需要创建一个数据库,并且给他起名叫test

create database test;

在这里报错了吗?如果没有,请再执行一次

这是因为数据库已经存在了test这个名字的数据库,在上面那句话的最前面添加 # 再重新执行

让我们试一试添加一句话 if not exists

create database if not exists test;

好的,数据库已经创建好了,这句话是什么意思呢?

create database 创建数据库

if not exists test 如果名为test的数据库不存在的话

整句连在一起就是 创建一个名为test的数据库,如果名为test的数据库不存在

接下来,让我们看看这个数据库吧

show databases like 'test';

你应该注意到我添加了新东西 like

是的,这是like匹配,你可以把''中的test换成 ___t 尝试

这样它会匹配前三个为任何字符最后一个为t的数据库 像这样

show databases like '___t';

当然,你也可以换成 %t 这样它会匹配前面为若干个字符最后一个为t的数据库,像这样

show databases like '%t';

是不是看到了test数据库?

修改表的名字

alter table user rename user1;
show tables ;

自己改回来吧,可以参考我的代码

alter table user1 rename user;

下面还有删除数据库

drop database test;

让我们看看数据库还在不在

show databases;

是不是test数据库已经不在了呢?

请忽略这一句,但请运行它

create database test;

好的,该你来试一试了,在下面的空白地方试一试创建删除数据库吧

删除数据库

创建数据库

创建数据库如果数据库不存在

很好,让我们选择我们创建的数据库

use test;

我们查看下我们现在是哪个数据库吧

select database();

是的,是test数据库!

很好!下面让我们来为数据库添加一个名叫user的表

create table if not exists user (

username varchar(16) comment '用户名',
password varchar(16) comment '用户密码'

) comment '用户表';

好,接下来让我们看看test数据库中的表

show tables;

我们已经看到了我们创建的user表,下面我们看看这个表的结构

desc user;

我们可以看到user表有username和password两个字段构成,其类型为varchar

好的,下面让我们来看看这个表的创建语句?

show create table user;

嘿,该你来试试了,下面是我的需求

创建一个product表,并创建如下字段

product_name 产品名 类型为 varchar(16) (字符串类型,相比于char它的性能较差,但可以存储小于或等于16位的字符串)

price 价格 类型为 decimal(6,2) (decimal常用于精确数字存储,如货币余额等,其中6表示一共可以存储6位长度的数字,其中小数位数为2位)

num 数量 类型为 int

create_time 创建时间 datetime (时间类型,用于存储时间)

创建成功了吗?不会的话可以看看我的代码

/*
create table product (

product_name varchar(16) comment '产品名',
price decimal(6,2) comment '产品价格',
num int comment '剩余产品数量',
create_time datetime comment '创建时间'

);
*/

让我们看看你创建的表

show tables;

是不是有了呢?你也可以向上面那样查看表的结构哦

哦天,我忘了在user表中插入一个user_id字段了,让我们插入这个字段吧

通常我们需要为user单独设置user_id这个字段,它将用于在其他表中索引

因此,我们需要为它设置主键 primary key

同时为了方便我们,我们需要设置为自增 auto_increment

alter table user add user_id int comment '用户ID' auto_increment primary key;

让我们看看吧

desc user;

看到了primary key 和 extra中的auto_increment吗?这就是主键和自增。

主键会增快我们搜索的速度,如果数据量较大的话

现在user_id在第三行,我们需要它在第一行,也就是在username前面

因为我们在上面设置了主键,因此我们不需要再设置,但其他的依旧

alter table user modify user_id int comment '用户ID' auto_increment first;

再让我们看看这个字段吧

desc user;

是不是在第一行了呢?

我们现在修改这个字段名字吧 当然,除了主键其他设置也需要带上哦

alter table user change user_id user_idd int comment '用户ID' auto_increment;
desc user;

是不是变成了user_idd了?我们也可以单独修改名字

alter table user drop user_idd;
desc user;

字段被删除了吧?哈哈你自己添加吧,可以参考我下面的代码哦

alter table user add user_id int comment '用户ID' auto_increment primary key first;

还有最后一个代码!清空表

truncate table user;

至此,表被清空重建不会再有任何内容,包括自增,当然结构还是存在的

文章目录