您的位置:首页 > 数据库 > MySQL

mysql基本的增删改查和条件语句

2018-01-26 21:43 225 查看


insert into 表名(列名,列名。。。。。。) values("test1",23),("test2",23),("test3",24); 这条命令可以一次增加一条数据,也可以同时增加多条数据



还可以从插入其他的表到数据到当前表

insert into 插入的表的名称(列名,列名。。。。。) select 列名,列名。。。。。 from 插入的表的名称;





delete from 表名 清空表的内容

删除tel=101的这一列



清空整个表





update 表明 set name="xxxx" where id=3;





select * from 表名;



条件语句



通配符



限制



排序



分组







分组是什么作用呢。我们看下下面的例子



按照workaddress这一列分组,如果有多行相同的workaddres,则只会显示第一列



按照workaddress这一列分组,如果有多行,则显示id最大的那一行;



按照workaddress分组,如果相同的workaddress有多列,则只显示id最小的那一列,和默认的情况一致



按照workaddress分组,如果相同的workaddress有多列,则会把所有的列的id加起来取和



按照workaddress这一列分组,如果workaddress这一列有多行,则统计多行的id的个数



还可以为每个新的列取一个新的名称,比如上面的例子

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



对聚合条件做筛选要用having来做筛选,上面的例子,首先用workdaddress做筛选,然后选出count(id) 》=2的列

连表







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

连表操作

我现在想实现这么一个需求,我在userinfo表中用workaddress代替工作地点,但是这里的workaddress仅仅是一串数据,而不是真正的名字,而真正的名字在workaddress中存储,我想在一条sql语句中就查询到工作的地点,就可以用到下面的方法



select * from 表a,表b where 表a.列名 = 表b.列名;

第二种实现连表的方式

select * from 表a lef join 表b on 表a.列名 = 表b.列名;



先写哪张表,哪张表就会放在左边,下面的例子的结果和上面例子的结果可以对比的看下



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

求平均值的两种方法

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: