插入数据:
insert into 表名(列名1,列名2,列名3) values (值1,值2,值3);
例子:insert into student(sid,sname,sex,age) values (1,'zhangsan',0,21);[写列名]
简单写法: insert into student values(2,'lisi',1,32);[不加列名]
注:简单写法,如果插入式全列名的数据,表名后面的列名可以省略.
id不要重复,否则会报以下错误:
插入其中几列:
insert into 数据库表名(列名1,列名2) values (值1,值2);[对的]
例子:insert into student(sid,sname) values (3,'wangwu');[对的]
insert into 数据库表名 (sid,sname) values (值1,值2)[错的]
注:如果是插入部分列的话,列名不能省略.
批量插入:
insert into 数据库表名 (列名1,列名2,列名3) values (值1,值2,值3),(值1,值2,值3),(值1,值2,值3);
例子:insert into student(sid,sname,sex,age) values (1,'zhangsan',0,21),(2,'zhangsan',0,21),(3,'zhangsan',0,21);
注:单条插入与批量插入的效率:
批量插入的效率更高.假设需插入10条数据,单条插入:插入10次即可.批量插入:一次性插入10条即可,但,如果,中间有数据错了,接下来未插入的数据就不会执行了.
查看表中数据:
select * from 表名;
例子:select * from student;
删除记录:
delete from 表名 [where 条件];
例子:delete from student where id = 2;
delete from 表名;
如果没有指定条件,会将表中数据一条一条全部删除掉.
例子:delete from student;
面试问题:请说一下,delete 删除数据和truncate 删除数据有什么差别?
delete:是一个关键字,属于DML,一条一条删除表中的数据.
truncate:属于DDL,先删除表在重建表.
关于哪条执行效率高:具体要看表中的数据量
如果数据比较少,delete比较高效.
如果数据比较多,truncate比较高效.
更新表记录:
update 表名 set 列名=列的值,列名2=列的值2 [where 条件];
例子:将sid为5的名字改为李四.
如果参数是字符串,日期,要加上单引号,如果是数字,直接写即可.
update student set sname='李四' where id=5;[可行]
update student set sname='李四',sex=0;[可行,不加where条件会将表中sex列的值都改为0]
查询记录:
select [distinct] [ * ] [列名1,列名2] from 表名 [where条件];
distinct:去处重复数据
select:选择显示哪些列的内容
商品分类:手机数码,鞋靴箱包
1.分类ID
2.分类名称
3.分类描述
create table cayegory(
cid int primary key auto_increment,
cname vatchar(30),
cdesc varchar(50)
);
insert into category values (null,'手机数码','全都是数据数码,手机,电脑');
insert into category values (null,'鞋靴箱包','全都是鞋靴箱包,男鞋,女鞋');
insert into category values (null,'美酒美食','全都是美酒美食,葡萄酒,火锅');
insert into category values (null,'零食','全都都是零食,瓜子,花生');
select * from category;
select cname,cdesc from category;
所有商品: