四十三、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、加载文本文件的数据到数据库表内: