mysql数据库操作

ddl操作

* 查看所有数据库 : show databases; 
* 切换数据库 :  use 数据库名;
* 创建数据库 : create database [if not exists] mydb1 [charset=utf8];
* 删除数据库 : drop database [if exists] mydb1;
* 修改数据库编码 : alter database mydb1 character set utf8;

操作表

create table [if not exists] 表名(
列名 列类型,
列名 列类型
)

查看表 : show tables; 
查看表结构 : desc tb_stu;
删除表 : drop table tb_stu;
修改表 : alter table 表名
添加 alter table 表名 
    add(
        列名 列类型,
        列名 列类型
    )
alter table 表名
    modify 列名 列的新类型
alter table 表名
    drop 列名
alter table 表名
    rename to 新表名

dml操作

insert into 表名(
    列名,列名,列名    
)
values(
    '值','值','值' 
);
update 表名 set 列名=列值 where 列名=列值 or 列名2=列值2;
                (设置值)      (条件
)
age >= 20 and age <=40;
age between 20 and 40; (同上)
sname='zhangSan' or sname='liSi';
sname in('zhangSan','liSi');(同上)
not 非的作用
is null 
delete form 表名 where 条件

dql操作

查询 select * from 表
select 列1,[列2] from 表
去除重复行 : select destinct * from 表 

列运算

select *,sal+ifnull(comm,0) from emp;
处理空值,如果comm为空用0替换 , sal+comm
select concat(ename,job) from emp;
select concat('我叫',ename,',我的工作是',job) as 描述 from emp;
concat 字符串连接 , as 起别名 (as 可以省略)

模糊查询
select * from emp where ename like '张_'
_匹配一个字符
%刚 以刚结尾 匹配0到多个字符


排序
order by 列名 desc降序/asc升序(默认)
多列排序条件
order by sal asc, comm desc
第一列相等时,按第二列排序


聚合
    统计条数select count(*) from emp;
        select count(列) from emp; 有null值的不计数
    求和  select sum(sal) from emp;  
    最大 max(sal)
    最小 min(sal)
    平均 avg(sal)
分组查询
    select job,count(*) from emp group by job;
    select deptno,count(*) from emp where sal > 15000 group by deptno having count(*) >=2
    薪水大于15000 按部门分组统计人数,显示人数>=2人的

select
from 
where
group by
having
order by
使用顺序

limit(0,5)从第1行开始,查5行
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值