mysql-表数据的基本操作(四)

插入/查询数据

  1. 向表中所有字段插入数据:
    向表中所有字段插入数据有两种方式,一种是指定所有字段及其相对应的值,另一种是不指定字段只列出字段值。
  • 指定字段及其值
-- 格式:
INSERT INTO table_name(col_name1,col_name2,……col_namen) 
VALUES(value1,value2,……valuen);

use day;

insert into good(id,type,name,price,num,add_time) values(1,'书籍','西游记',50.4,20,'2018-01-01 13:40:40');

select * from good;
  • 不指定字段只列出字段值
-- 格式:
INSERT INTO table_name VALUES(value1,value2,……,valuen);

insert into good values(2,'糖类','牛奶糖',7.5,200,'2020-02-02 13:40:49');

注意:

  1. 指定所有字段及其对应的值时,字段可以不按照表中字段的顺序排列,但字段要和值一一对应。
  2. 不指定字段只列出字段值时,值的顺序要与表中字段的顺序相同,当表中的字段顺序发生改变时,值的插入顺序也要随之改变。
  1. 向表中指定字段插入数据
-- 格式:
INSERT INTO table_name(col_name1,col_name2,……,col_namen) 
VALUES(value1,value2,……,valuen);

insert into good(type,name,price) values('糖类','水果糖',2.5);

注意:

  1. 当字段没有设置约束时,系统会将字段值设置为NULL,如good表中的add_time字段。
  2. 当字段设置自增约束时,系统会将字段值设置为自增后的序列值,如good表中的id字段。
  3. 当字段设置默认约束时,系统会将字段值设置为默认值,如good表中的num字段。
  1. 同时插入多条数据
-- 格式:
INSERT INTO table_name(col_name1,col_name2,……,col_namen) 
VALUES(value1,value2,……,valuen),
……
(value 1,value2,……,valuen);

insert into good(id,type,name,price,num,add_time)
values(4,'服饰','休闲西服',800,null,'2016-04-04 13:40:40'),
(5,'饮品','果汁',3,70,'2016-05-05 13:40:40'),
(6,'书籍','论语',109,50,'2016-06-06 13:40:40');
  1. 将其他表中的数据插入到表中
INSERT INTO table_name1(table_name1_col_list) 
SELECT table_name2_col_list FROM table_name2;
  1. 表中数据的转移
     create table new_goods (
     id int(11) primary key auto_increment,
     type varchar(30) not null,
     name varchar(30)unique,
     price decimal(7,2) unsigned,
     num int(11) default 0,
     add_time datetime 
     );
    
     insert into new_goods(id,type,name,price,num,add_time)
     select id,type,name,price,num,add_time from good;
    
  2. 将表中部分字段的数据插入到另一张表中
    create table test_goods(
    g_id int(11) primary key auto_increment,
    g_name varchar(30) unique,
    g_price decimal(7,2) unsigned
    );
    
    insert into test_goods(g_id,g_name,g_price) 
    select id,name,price from good;
    

注意:

  1. 两张表的字段名可以不一样。但数据类型必须一样
  2. 插入数据时,sql语句中的字段顺序可以与表中的字段顺序不同,但两张表中的字段顺序必须一一对应。
  • 查询数据
select * from 表名;
  • 指定查询
select *|列名 from 表名 where 条件;

修改数据

运算符:
一种符号,它是用来进行列间或者变量之间的比较和数学运算的
包括算术运算符、赋值运算符、比较运算符、逻辑运算符

  1. 使用sql语句修改数据
-- 格式:
update 表名 set1=1,2=2, ... , n=列值n;

update new_goods set num=0;
  1. 修改指定数据
-- 格式:
update 表名 set1=1,2=2, ... , n=列值n where 条件;

update new_goods set num=10 where type='糖类';

删除数据

  1. 使用sql语句删除数据
-- 格式:
delete from 表名;

delete from new_goods;
  1. 删除指定数据
-- 格式:
delete from 表名 where 条件;

delete from good where id=3;
  1. 清空表中数据
truncate 表名;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值