MySQL添加、修改和删除数据

1.向MySQL数据表插入数据

语法:insert into 表名(字段1,字段2......)  values(值1,值2.....);

           insert into 表名  values(值1,值2.....);

           insert into 表名(字段3,字段4)  values(值3,值4);

           insert into 表名[(字段1,字段2......)]  values(值1,值2.....),(值1,值2.....),(值1,值2.....);

           insert into 表名 set 列名=值1,set 列名=值2.......;      

  注意:(1)数据和要插入值的字段一一对应。

             (2)给部分字段添加数据,表里未赋值的字段必须是可以为空,自动增长的字段不能添加数据。 

              (3)只有插入全部字段的数据(自动增长字段不用写),才能省略表名后面的字段列表。      

易错点:(1)字段和字段之间、值与值之间要用英文逗号隔开。

               (2)字段和后面的值没有一一对应。

               (3)字符类型要使用双引号或者单引号括起来。                   

如果数据是字符型,必须使用单引号或者双引号,如:"值1"。

新建一个数据库students和名为student的表如下:

create database if not EXISTS students character set utf8 collate utf8_general_ci;
use students; create table student ( stuID int(5) not null primary key, stuName varchar(50) not null, stuSex CHAR(10), stuAge smallint );

例1:向student表添加一行记录。

insert into student(stuID,stuName,stuSex,stuAge) values(1001,'张三','',19);
select * from student;

  

insert into student values(1002,'李四','',19);
select * from student;

例2:向student表添加一行记录,添加学号为1003,姓名为“小丽”的记录。

insert into student(stuID,stuName) values(1003,'小丽');
select * from student;

例3:向student表添加三行记录,学号为1004,姓名为“小明”;学号为1005,姓名为“王五”;学号为1006,姓名为“张晓明”。

insert into student(stuID,stuName) values(1004,'小明'),(1005,'王五'),(1006,'张晓明');
select * from student;

例3-1.向student表添加一行记录,学号为1006,姓名为“李小萌”,性别为女,年龄为19。

insert into student set stuID=1006,stuName='李小萌',stuSex='',stuAge=19;
select * from student;

例3-2.向student表添加一行记录,替换学号为1004,姓名为“小明”,性别为男,年龄为19。

REPLACE into student set stuID=1004,stuName='小明',stuSex='',stuAge=19;
select * from student;

   以下内容转自:https://blog.csdn.net/qq_62731133/article/details/125861630

        REPLACE语句用VALUES()的值替换已经存在的记录。若在INSERT语句中使用IGNORE关键字,MySQL不会尝试去执行该语句,原有记录保持不变,但INSERT语句也不会提示出错。

       另外,MySQL还支持图片的存储,存储图片的字段类型为blob,是一个二进制大对象,可以容纳可变数量的数据。有多种blob类型,分别为tinyblob和blob、mediumblob和longblob,它们只是可容纳值的最大长度不同。

       图片一般可以以路径的形式来存储,即插入图片可以采用直接插入图片的存储路径,也可以直接插入图片本身,其用LOAD_FILE(file_name)函数读取文件。用LOAD_FILE(file_name)函数来读取文件时,图片文件的位置必须在服务器上,file_name必须指定路径全名,而且还必须拥有FILE特许权,文件必须可读取,文件容量必须小于max_allowed_packet字节。若文件不存在,或因不满足上述条件而不能被读取,则函数返回值为NULL。将图片直接存储在数据库中,会造成数据库文件很大,影响数据的检索速度,且读取程序繁琐,应尽量避免。

 2.MySQL中修改表数据,语法如下:

update 表名 set 字段1=值1,字段2=值2.......  where  条件

例4:修改student表学号为1004的记录,性别为女,年龄18。

update student set stuSex='',stuAge=18 where stuID=1004;
select * from student;

  例5:修改student表学号为1004和1005的记录,性别为男,年龄19。

update student set stuSex='',stuAge=19 where stuID in(1004,1005);
select * from student;
UPDATE student set stuSex='男',stuAge=19 where stuID=1004 or stuID=1005 ;
select * from student;

上面两种写法选一种运行即可。

 条件:where 运算符  转自:https://www.cnblogs.com/yufei12/p/14897047.html

操作符含义范围结果
= 等于 5=6 false
<>或者 != 不等于 5<>6 true
> 大于 5>6 false
< 小于 5<6 true
>= 大于等于 5>=6 false
<= 小于等于 5<=6 true
between A and B 在A和B之间 between 1 and 10 在1~10之间,不包括10
AND 连接条件&& 条件1 和条件2都成立 都是true 才是true
OR 或者|| 条件1 和条件2有一个成立即可 有一个true才是true

注意:(1)如果不写where条件,那么整张表的对应字段都将被修改。

UPDATE student set stuSex='';
select * from student;

(2)“值”是一个具体的值,也可以是一个变量,如birthday = CURRENT_TIME current_time是当前时间。

alter table student add COLUMN stuBirth timestamp;
update student set stuBirth=CURRENT_TIME where stuID=1004;
select * from student;

 

 (3)多个设置的属性之间,使用英文逗号隔开

例6:修改student表所有性别为女且学号在学号在1001~1003的记录,将年龄+1。

update student set stuAge=stuAge+1 where stuSex='' and stuID 
BETWEEN 1001 and 1004;
select * from student;

3.MySQL中删除表中的数据,语法:

delete from 表名 where 条件

例7:删除student表学号为1006的记录。 

delete from student where stuID=1006;
select * from student;

例8:删除student表中的所有记录。 

delete from student;
select * from student;

 

posted @ 2022-10-18 19:13  YorkShare  阅读(2316)  评论(0编辑  收藏  举报