插入/查询数据
- 向表中所有字段插入数据:
向表中所有字段插入数据有两种方式,一种是指定所有字段及其相对应的值,另一种是不指定字段只列出字段值。
- 指定字段及其值
-- 格式:
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');
注意:
- 指定所有字段及其对应的值时,字段可以不按照表中字段的顺序排列,但字段要和值一一对应。
- 不指定字段只列出字段值时,值的顺序要与表中字段的顺序相同,当表中的字段顺序发生改变时,值的插入顺序也要随之改变。
- 向表中指定字段插入数据
-- 格式:
INSERT INTO table_name(col_name1,col_name2,……,col_namen)
VALUES(value1,value2,……,valuen);
insert into good(type,name,price) values('糖类','水果糖',2.5);
注意:
- 当字段没有设置约束时,系统会将字段值设置为NULL,如good表中的add_time字段。
- 当字段设置自增约束时,系统会将字段值设置为自增后的序列值,如good表中的id字段。
- 当字段设置默认约束时,系统会将字段值设置为默认值,如good表中的num字段。
- 同时插入多条数据
-- 格式:
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');
- 将其他表中的数据插入到表中
INSERT INTO table_name1(table_name1_col_list)
SELECT table_name2_col_list FROM table_name2;
- 表中数据的转移
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;
- 将表中部分字段的数据插入到另一张表中
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;
注意:
- 两张表的字段名可以不一样。但数据类型必须一样
- 插入数据时,sql语句中的字段顺序可以与表中的字段顺序不同,但两张表中的字段顺序必须一一对应。
- 查询数据
select * from 表名;
- 指定查询
select *|列名 from 表名 where 条件;
修改数据
运算符:
一种符号,它是用来进行列间或者变量之间的比较和数学运算的
包括算术运算符、赋值运算符、比较运算符、逻辑运算符
- 使用sql语句修改数据
-- 格式:
update 表名 set 列1=值1, 列2=值2, ... , n=列值n;
update new_goods set num=0;
- 修改指定数据
-- 格式:
update 表名 set 列1=值1, 列2=值2, ... , n=列值n where 条件;
update new_goods set num=10 where type='糖类';
删除数据
- 使用sql语句删除数据
-- 格式:
delete from 表名;
delete from new_goods;
- 删除指定数据
-- 格式:
delete from 表名 where 条件;
delete from good where id=3;
- 清空表中数据
truncate 表名;