mysql——插入、更新、删除数据(概念)

一、插入数据

1、为表的所有字段插入数据
--------------------------------------------------------------------------

(1)insert语句中不指定具体的字段名

语法格式:insert into 表名 values(值1,值2,……,值n);

表名指定记录插入到哪一个表中;

值等表示要插入的数据;值1到值n分别对应着表中的每一个字的;表中定义了几个字段,insert语句中就应该对应有几个值;

值插入的顺序与表中字段的顺序相同;而且取值的数据类型与表中对应的数据类型应该一致;

举例:insert into product values(1001,‘abc‘,‘药物‘,‘治疗感冒‘);

字符串类型必须加上引号,否则系统会报错;

------------------------------------------------------------------------------------------

(2)insert语句中列出所有字段

insert语句中可以列出表的所有字段,来为这些字段插入数据;

语法格式:insert into 表名(属性1,属性2,……,属性n)

          values(值1,值2,……,值n);

属性n参数表示表中的字段名称,此处必须列出表的所有字段的名称;

值n参数表示每个字段的值,每个值与相应的字段对应;

举例:insert into product(id,name,function,company,address)

      values(1002,‘BCD‘,‘治疗头痛‘,‘BCD制药厂‘,‘北京市海淀区‘);

-------------------------------------------------------------------------------------------

(3)insert语句中列出所有字段,但是字段的顺序和表中定义的顺序不同

举例:insert into product(id,function,name,address,company)

      values(1002,‘治疗癌症‘,‘AB康复丸‘,‘北京市顺义区‘,‘AB康复制药厂‘);

结果显示插入成功

----------------------------------------------------------------------------------------------

(4)为表的指定字段插入数据

即为表中的部分字段插入数据

语法格式:insert into 表名(属性1,属性2,……,属性n)

          values(值1,值2,……,值m);

属性m参数表示表中的字段名称,此处指定表的部分字段名称;

值m参数表示指定字段的值,每一个值与相应的字段对应;

举例:insert into product(id,name,company)

      values(1004,‘咳嗽灵‘,‘EF制药厂‘);

结果显示插入成功,但是function和address字段都为空值(null)。

因为这两个字的没有插入值,数据库系统为其插入了默认值。所以这两个字段才是空值

注意:没有赋值的字段,数据库系统会为其插入默认值,如果某个字段没有插入默认值,而且是非空,这就必须为其赋值,否则系统会报错。

注意:这种方式也可以随意设置字段的顺序,而不需要按照表定义时的顺序。

---------------------------------------------------------------------------------------------

(5)同时插入多条记录

MYSQL中,一个insert语句可以同时插入多条记录

语法格式:insert into 表名[(属性列表)]

          values(取值列表1),
                (取值列表2),
                ……
                (取值列表n);

表名指明向哪个表中插入数据;

属性列表参数是可选参数,指定那些字段插入数据,如果没有指定字段时,则向所有字段插入数据;

取值列表n表示要插入的记录,每条记录之间用逗号隔开;

注意:不指定字段时,必须为每个字段都插入数据,如果指定字段,就只需为指定的字段插入数据

举例:

insert into product values(1006,‘头痛灵1号‘,‘治疗头痛‘,‘DD制药厂‘,‘北京市房山区‘),
                          (1007,‘头痛灵2号‘,‘治疗头痛‘,‘DD制药厂‘,‘北京市房山区‘),
                          (1008,‘头痛灵3号‘,‘治疗头痛‘,‘DD制药厂‘,‘北京市房山区‘),
                          (1009,‘头痛灵4号‘,‘治疗头痛‘,‘DD制药厂‘,‘北京市房山区‘);

举例:

insert into product(id,name,company)
values(1009,‘护发1号‘,‘北京市护发素厂‘),
      (1010,‘护发2号‘,‘北京市护发素厂‘),
      (1011,‘护发3号‘,‘北京市护发素厂‘);

-----------------------------------------------------------------------------

(6)将查询结果插入到表中

insert语句可以将一个表中查询到的数据插入到另外一个表中

语法格式:

insert into 表名1 (属性列表1)

select 属性列表2 from 表名2 where 条件表达式;

表名1说明记录插入到哪个表中;

表名2表示记录是从哪个表中查询出来的;

属性列表1参数表示为哪些字段赋值;

属性列表2表示从表中查询出哪些字段的数据;

条件表达式参数设置了select语句的查询条件;

注意:使用这种方法时,必须保证属性列表1和属性列表2中的字段个数是一样的,而且每个对应字段的数据类型必须是一样的。

举例:

insert into product(id,function,name,address,company)

select id,function,name,address,company from medicine;

==========================================================================================

二、更新数据

更新数据是更新表中已经存在的记录。通过这种方式可以改变表中已经存在的数据。

语法格式:

update 表名

       set 属性名1 = 取值1,

           属性名2 = 取值2,

           ……

           属性名n = 取值n

        where 条件表达式;

属性名n表示需要更新的字段的名称;

取值n表示为字段更新的新的数据;

条件表达式指定更新满足条件的记录;

举例:

update product

set name=‘AAA感冒药‘,address=‘北京市朝阳区‘

where id=1001;

举例:

update product

set function=‘护理头发‘,address=‘北京市昌平区‘

where id>=1009 and id<=1011;

=================================================================================

三、删除数据

删除数据是删除表中已经存在的记录;通过这种方式可以删除表中不再使用的记录;

语法格式:delete from 表名 [ where 条件表达式 ];

表名指明从哪个表中删除数据;

where 条件表达式指定删除表中哪些数据;如果没有该条件表达式,数据库系统就会删除表中所有的记录;

举例:

delete from product where id=1001;

原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12089275.html

时间: 2024-11-06 19:30:07

mysql——插入、更新、删除数据(概念)的相关文章

插入,更新,删除数据

数据插入 INSERT是用来插入或者添加行到数据库表的,插入可以分为几种方法 插入完整的行 插入行的一部分 插入多行 插入某些查询的结果 插入完整的行 mysql> INSERT INTO customers VALUES(NULL, 'zhangsan', 'shandong', NULL, NULL, NULL, NULL, '15053631234', '[email protected]'); Query OK, 1 row affected (0.01 sec) 此例子插入一个新客户到

Mysql添加更新删除数据-表

例如 此处拥有一个表名为 uuser 为表添加新数据 1 insert into uuser values(1,'小王','111'); 2 insert into uuser values(2,'小张','111'); 3 insert into uuser values(3,'小六','111'); 假如只想添加uid和uname 1 insert into uuser(uid,uname) values(1,'小张'); 那么pas自动填充为NULL. 为表更新数据 这里把小王的pas改成

mysql 插入/更新数据

mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO student VALUES('Bush','M', 60),('Obama', 'M', 45); 允许同时插入多个数据行: 2.只对部分字段赋值 INSERT INTO student(name, sex) VALUES ('Abby', 'F'),('Joseph', 'M'); 没有在INS

DButils工具类可以用来获取数据库连接向数据库插入更新删除对象2

package com.ctl.util; import java.awt.Color; import java.awt.Font; import java.awt.Insets; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.*; import java.lang.reflect.*; import java.sql.*; import java.text.SimpleD

PHP MySQL 插入多条数据

PHP MySQL 插入多条数据 使用 MySQLi 和 PDO 向 MySQL 插入多条数据 mysqli_multi_query() 函数可用来执行多条SQL语句. 以下实例向 "MyGuests" 表添加了三条新的记录: 实例 (MySQLi - 面向对象) <?php$servername = "localhost";$username = "username";$password = "password";$d

robot framework——对mysql数据库进行插入和删除数据

通过execute  sql  string关键字来执行对数据库的插入操作和删除操作. (1).向数据库中插入数据 connect  to  database   using  custom  params  pymysql database='world',user='root',password='root',host='localhost',port=3306 execute  sql  string insert into city(name,countrycode,district,p

mysql 级联更新删除问题

MYSQL: Cannot delete or update a parent row: a foreign key constraint fails 这可能是MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据.可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况. SET FOREIGN_KEY_CHECKS = 0; 删除完成后设置 SET FOREIGN_KEY_CHECKS = 1; 其他: 关闭唯一性校验 set unique_checks

JDBC实现往MySQL插入百万级数据

from:http://www.cnblogs.com/fnz0/p/5713102.html JDBC实现往MySQL插入百万级数据 想往某个表中插入几百万条数据做下测试, 原先的想法,直接写个循环10W次随便插入点数据试试吧,好吧,我真的很天真.... DROP PROCEDURE IF EXISTS proc_initData;--如果存在此存储过程则删掉 DELIMITER $ CREATE PROCEDURE proc_initData() BEGIN DECLARE i INT DE

Kettle增量插入更新所有数据都拒绝情况处理

在一个Kettle中,我发现一个平时正常跑的转换,突然不正常了.他增量查询没问题,但是到插入更新的那一步,所有数据都拒绝,而且报错看不出什么. 经过排查,所有的写的步骤都是正确的,但是就是不进库.后来,我把所有的步骤重新新建,然后就可以了!!!再后来,我又遇到这种情况,然后把增量查询的sql重新复制,粘贴进去,再保存一下,也正常进库了.可能是kettle识别有问题把?? 原文地址:https://blog.51cto.com/newcourage/2400620

MySQL优化之——插入 更新 删除

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46581769 插入 将多行查询结果插入到表中 语法 INSERT INTO table_name1(column_list1) SELECT (column_list2) FROM table_name2 WHERE (condition) table_name1指定待插入数据的表:column_list1指定待插入表中要插入数据的哪些列:table_name2指定插入数据是从