四十三、mysql数据库2:插入、更新、删除数据
一、插入数据
1、全列插入:(必须一一对应)
① 注意:为主键以及自动增长的id字段的值进行占位有3种方法【0】和【null】和【default】。
#全列插入——中间用,分开,一一对应起来,
#【0】和【null】和【default】都是占位符。 生日必须加""
#可分别插入数据,也可一次性插入数据
insert into students values(0,"小张",22,186.52,"男",1,"1992-08-06"),
(0,"小王",23,165.20,"男",2,"1993-09-06"),
(0,"小花",20,163.32,"女",2,"1996-08-06"),
(0,"小李",25,181.52,"男",1,"1995-07-01"),
(0,"小红",18,170.21,"女",3,"1994-12-06");
② 注意:字段为枚举类型的写法。在男女那可写1或2,会分别对应:
1默认第一项,2默认第二项
2、部分插入:
insert into students (name,age,gender) values ("小白",21,"男"),("小草",18,"女");
3、 select * from students;查表内所有具有数据
二、更新数据(必须使用where指定)
三、删除数据(必须使用where指定)
Delete语句可以同时删除多条记录。如果不指定where条件表达式,数据库系统会删除指定表中所有数据。
delete from 表名 where stu_id=1; #删除id=1的数据
四、逻辑删除(可恢复数据)
删除方案:设置isDelete的列,类型为bit,表示逻辑删除,默认值为0
Bit称为位数据类型,其数据有两种取值:0(没有逻辑删除)和1(逻辑删除),把值改为0,可恢复数据
1、先添加is_delete, 默认值为0
2、设置is_delete=1,删除了,再改为is_delete=0 就可恢复数据了
总结:
五、重新排序自增主键ID号
Mysql数据库表的自增主键ID号经过一段时间的添加与删除之后乱了,需要重新排列。
(1)不清空数据
原理:删除原有的自增ID,重新建立新的自增ID。
1,删除原有主键:
alter table `table_name` drop `id` ;
2,添加新主键id字段并设置主键:
alter table students add id int primary key auto_increment first ;
(2)如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数
truncate table 表名 ;
六、用文本方式将数据装入一个数据库表
(1)如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。
1、使用Navicat Premium 软件创建个表
mysql> create table chengjibiao(stu_id varchar(20) , stu_name varchar(20) , stu_yuwen int(3) , stu_shuxue int(3));
2、成功后,点击上方对象按钮,刷新界面
3、新建个excel表—在excel表中写好数据后,------文件-----另存为,其格式选为:
文本文件(制表符分隔)(*.txt)格式的就可以了。
4、我是保存到桌面上,在桌面会有个.txt文件
5、打开,文本文件的默认编码是ANSI的,所以打开文本文件进行修改如下:
在另存为的时候,将其进行修改成:UTF-8 格式
6、在使用下面命令将文本文件“aa.txt”装载到chengjibiao表中:
mysql> load data local infile ' C:/Users/Administrator/Desktop/aa.txt ' into table chengjibiao;
(把桌面的路径放这了,记得把路径改成左斜杠/)
7、再使用如下命令看看是否已将数据输入到数据库表中:
mysql> select * from chengjibiao;
(2)第二种方式,使用Navicat Premium 软件 备份数据
1、可备份数据库表的数据,直接点击库——转储SQL文件—结构和数据—保存
2、加载文本文件的数据到数据库表内: