随着上次我们学习了新建数据库以及新建表,本次内容属于我们开始在navicat中开始我们的sql的学习,本次内容为增删改查。
我们这边学习的是新增数据,新增表结构,目前我们的操作如下:
首先我们先查看我们的目前的表,输入:
select * from learn;
查看我们目前的表,
目前我们的表中暂时是没有任何数据的,那么我们目前如果需要插入一条数据,就可以应用我们的insert函数来插入我们的数据,输入代码如下:
insert into learn (id,name,level,exp,gold) values (1,'张三',1,0,0);
运行后我们再次通过select * from 语句,即可看到我们插入的内容
除了单一的添加数据之外,我们还可以一次性插入多个数据,只需要在其中把每个数据隔开就可以了,例如我们输入以下代码后运行:
insert into learn (id,name,level,exp,gold)
values(2,'李四',2,3,4),(3,'王五',5,6,3),(4,'赵六',9,4,8);
这是可以看到我们三行数据收到了影响,那么说明我们已经添加成功了,接下来我们继续通过select语句查看我们的表,运行后,就可以看到我们的数据已经成功插入了
同样,我们目前也可以在指定的某一或某几列中插入数据,这样,其他列的数据将会以默认值的方式来进行填充,例如,现在我们输入以下代码并执行:
insert into learn (id,name) values (5,'小王'),(6,'小张');
执行结果后我们可以看到, 插入的小王,小张的数据均为空值,那么按到底来讲,我们我的等级初始值应该是不为空的,所以我们在此处要对表进行一个设置,我么要给经验这一栏设置默认值,所以我们输入以下内容:
ALTER TABLE learn MODIFY LEVEL int DEFAULT 1;
然后点击运行,这时我们在往其中插入一个名为大王的玩家,我们可以看到现在运行的结果就变成了这样:
我们并没有定义它的等级,但是插入数据后他的等级变成了1级,除了这个大家要是有兴趣的话也可以尝试自定义下他的经验以及金币,并且插入数据看看会有什么效果。
那我们如果在新增表的时候发现我们少新增了字段,我们同样也可以使用我们的sql语句进行增加,例如在learn表中,我们需要新增一列名为last_login的字段并且他的数据类型为datetime,我们可以输入以下内容:
alter table learn add column last_login datetime;
删除的方式也很简单,同样是这个数据,我们现在要删除我们表里刚刚插入的数据,那么我们需要输入以下代码:
DELETE FROM learn WHERE exp = 0;
运行后我们再次查看表中数据,就可以看到,我们exp等于0的玩家全部被删除了
在这里我们需要注意的是值为null的列并没有被删除,这是因为 null是空值,但是0也算是一个值,当我们需要删除null时,我们只需要将代码后边改成exp is null就可以了。
当然我们如果需要删除整张表的数据的话,直接去where及后面的字段就行了
删除字段的方式也很简单,以我们第一部分中新增字段为例,我们现在如果需要删除字段,我们只需要运行:
alter table learn drop column last_login;
这样运行过后我们就可以看到我们的字段已经被删除成功了
修改涉及到修改表信息,修改表内容
我们从修改表信息开始学起,首先还是我们学习的learn表中,如果我们现在需要修改表的数据类型,首先还是先进行查看
这时我们看到我们的id,level和exp目前数据类型都是int,name为varchar,gold为decimal,那么我们如果需要将varchar(100)改为varchar(200),那我们需要输入以下代码:
alter table learn modify column name varchar(200);
紧接着我们如果继续查看表,就可以看到我们的name已经改变成了varchar(200)了
当然除了数据类型之外,我们如果需要将name修改为nick_name,那我们就可以输入:
alter table learn rename column name to nick_name;
首先查看我们的表,我们可以看到李四的等级为2,但是实际中李四已经到达了3级,我们这时候就需要修改这个数据,输入:
update learn set level = 3 where nick_name = '李四';
同样我们可以单独修改也可以同时修改所有数据,只需要我们把后面where语句及以后的字段删除掉,输入:
update learn set level = 3;
那么即可将所有的等级都改为3级,但是这样实际操作中可能修改掉很多重要信息,所以建议大家修改表的时候一定要加上where来限制我们修改的地方
当然大家如果需要修改多个字段的话可以在后面直接加入字段用逗号隔开即可,例如输入
update learn set level = 3 , exp = 3 ;
就可以将所有的表中的等级和经验全部修改为3,在这里我们就不作演示
查这部分我们需要掌握的内容非常简单,一个是查看我们表信息,一个是查看我们的表结构,查看我们表结构的代码在之前我们已经讲过了,这次我们再次放在这里,例如我们需要查看learn这张表的结构,那我们只需要输入:
DESC learn;
当然,如果我们需要查看表里面有哪些信息,我们可以用select语句来进行查询,输入:
select * from learn;
这样我们就可以查看到我们整张表中所有的数据
这里我们需要注意的是,* 代表查询整张表中所有信息,我们如果只需要查询某几个字段的信息的话,把* 改为某几个字段用逗号连接即可,例如我们要查看id和nick_name,只需要输入
SELECT id,nick_name FROM learn;即可查询