mysql基础查询

mysql是关系型数据库

        特点:

                表存储数据,格式统一,便于维护

                sql语言操作,标准同一,使用方便

SQL分类

        DDL:数据定义语言,用于定义数据库对象(数据库,表,字段) 

查询所有数据库
show databases;

查询当前数据库
select database();

创建数据库
create database (if not exist) 数据库名 (default charset 字符集) 
(collate 排序规则);

删除数据库
drop database (if exist) 数据库名;

切换数据库
use database;

查询当前数据库所有表
show tables;

查询指定表结构
desc 表名;

查询表的建表语句
show create table 表名;

创建表
create table 表名(
    字段1 类型 (comment 字段1注释),
    字段2 类型 (comment 字段2注释), 
    字段3 类型 (comment 字段3注释), 
    。。。
    字段n 类型 (comment 字段n注释)     
) (comment 表注释);

修改表
添加字段
alter table 表名 add 字段名 类型 (comment 注释) (约束);

修改数据类型
alter table 表名 modify 字段 新数据类型;

修改字段和数据类型
alter table 表名 change 旧字段名 新字段名 类型 (comment 注释) (约束);

删除字段
alter table 表名 drop 字段;

修改表名
alter table 表名 rename to 新表名;

删除表
drop table (if exist) 表名;

删除表中所有数据,保留表结构
truncate table 表名;

字段数据类型

    数值类型

 

    字符类型

 

    日期类型

 

 

        DML:数据操作语言,对数据进行增删改

指定字段添加数据
insert into 表名(字段1,字段2,......) values(值1,值2,......);

所有字段添加数据
insert into 表名 values(所有值);

批量添加元素,值与字段的顺序一一对应
insert into 表名(字段1,字段2,......) values(值1,值2,......),
                                            (值1,值2,......),
                                            (值1,值2,......);

修改数据
update 表名 set 字段1=值1,字段2=值2,...... (where 条件);

删除数据
delete from 表名 (where 条件);




 

        DQL:对数据进行查询,使用最多

基本语法

select
    字段1,字段2,...,字段3
from
    表名
left join(right join ,inner join)
    表名
on
    表连接条件
where
    查询条件
group by
    分组字段列表
having
    分组后条件列表
order by
    排序字段列表
limit
    分页参数


字段设置别名
select 字段1 别名 ,字段2 as 别名 from 表名;

去除重复记录
select distinct 字段列表 from 表名;

        where查询条件

 

        聚合函数:用在select,和having字段后,null值不参与聚合函数的运算

统计所有记录
select count(*) from 表名;

统计字段不为null的所有记录
select count(字段) from 表名;

            

        分组查询

select 字段列表 from 表名 where 条件 group by 分组条件 having 分组后过滤条件 ;

where在分组前进行过滤,不满足where条件不参与分组,having是对分组结果进行过滤。

where不能对聚合函数进行判断,而having可以。

分组之后,查询的字段一般为聚合函数或分组=字段,查询其他字段无意义。        

执行顺序 where>聚合函数>having。

group by支持多字段分组:group by age,number;

        排序查询

order by排序查询


asc升序(默认)

desc降序

多个字段排序,第一个字段相同,才会根据第二个字段进行排序,以此类推。

        分页查询

limit 起始索引,每页显示记录数;

起始索引=(页码-1)*每页显示记录数;

        语句执行顺序

from

where

group by

having

select

order by

limit

        DCL数据控制语言,用于管理数据库用户,控制数据库的访问权限

用户管理

    查询用户
    select * from mysql.user;
    
    创建用户
    create user '用户名'@'主机名' indentified by '密码';

    修改用户密码
    alter user '用户名'@'主机名' indentified with mysql_native_password by '新密码';

    删除用户
    drop user '用户名'@'主机名';

权限管理
    
    查询权限
    show grants for '用户名'@'主机名';

    授予权限
    grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

    撤销权限
    revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

mysql内置函数

        字符串函数        

        日期函数

        流程函数

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值