表的增删改查

1.增

insert into 表名 [(参数列表)] values (值列表);

批量插入:insert into 表名 [(参数列表)] values (),(),();

注意:类型,范围,值一一对应;隐含列时,插入每列对应的值;指定列插入(只给表中的某几个字段赋值),指定列要说明(指定字段名)。

当插入的数据主键存在冲突时

更新操作:
    insert into 表名 (字段列表) values (值列表) on duplicate key update 字段=新值;    
替换:
    replace into 表名 (字段列表) values (新的值列表)

2.删

delete from 表名 [where condition];

truncate table 表名;

delete和truncate两种方法的区别:

1)效果一样,truncate更快一些。

2)delete一条一条删,返回被删除的记录数;truncate对整个表删除,表的结构仍然存在,返回0行受影响。

3)delete不会影响auto_increment项,而truncate会影响,将会重置auto_increment项。

delete使用细节:

1)delete配合where子句,可以灵活地删除表中满足条件的记录。

2)delete语句不能删除某一列的值(可以用update置null)。

3)使用delete语句仅删除记录,不删除表本身。

3.改

update table_name set 列名=值[,列名2=值2,...] [where condition] [limit n]; limit限制满足条件的修改数量。

注意:在MySQL中不存在++/+=/--/--。

4.查

select [distinct] *|{列名1,列名2,...} from 表名 [where 条件];
几个例子:
select id,name,math+english+chinese as 'total' from student where math+english+chinese>200;注意不能使用total别名。

5.order by子句

排序(默认是升序asc)降序:desc  

语法:select col1,col2,... form 表名 order by 类名 asc|desc;
eg:select id,name,math+english+chinese as total from t order by total desc;按成绩降序排列。

6.limit分页

语法:select 字段 from 表名 where 条件 limit 起始位置,记录条数

语法2:select 字段 from 表名 where 条件 limit 记录条数 offset 起始位置

eg:select * from student where math>80 limit 0,3;//显示数学成绩大于80的前三个人。

7.count聚合函数

count(列名) 返回某一列,行的总数。

select count(*)|count(列名) from 表名 where condition;

注意:count(*)会统计一共的记录数(包括null),count(列名)会排除为null的情况。

8.sum函数

sum函数会返回满足where条件的行的和。

select sum(列名){,sum(列名)...} from 表名 [where condition];

9.删除一张表t1的重复元素

1)复制表结构  create table t2 like t1;

2)把t1中的数据复制到t2中  insert into t2 select distinct* from t1;

3)删除原来的表  drop table t1;

4)修改表名  alter table t2 rename to t1;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值