MySQL学习总结

基础

MySQL数据类型

数字类型:
    整型:
        tinyint bool bit    一个字节
        smallint            两个字节
        mediumint           三个字节
        int                 四个字节
        bigint              八个字节
        decimal             自定义长度
    浮点型:
        float               四个字节
        double              八个字节

字符串类型:
char(M):                M个字符 M:0--255               
varchar(M):             M个字符 M:0--255

text:
    tinytext:           0-(2^8-1)个字符
    text:               0-(2^16-1)
    mediumtext:         0-(2^24-1)
    longtext:           0-(2^32-1)


日期时间:
date:                   YYYY-MM-DD
time:                   HH:MM:SS
datetime:               YYYY-MM-DD HH:MM:SS
timestamp               
year:                   可以指定为显示四位或者两位


BLOB:(长度同text,支持存储二进制文件)
tinyblob
blob
mediumblob
longblob

Set和ENUM

操作数据库

创建:
            create database db_name;
删除:
            drop database db_name;
使用:
            use database_name;

操作数据表

创建:

create [temporary] table [if not exist] table_name(create_defination)  [table_options] [select_statement]
    temporary:是临时表
    create_defination:  字段名 类型 [not null | null] [default 默认值] [auto_increment] [primary key]

删除表:

        drop table table_name

更改表项:

alter [ignore] table table_name alter_spec[,alter_spec]
            alter_spec:
                add [column] create_defination [first|after] col_name ;  添加字段到xxx之前或之后
                add index [index_name] (col_name);                    添加索引值
                add primary key [col_name];                           添加主键,主键不都是建表的时候创建的吗
                add unique [index_name] (col_name);                   添加unique约束

                alter 不管她
                change [column] old_col_name create_defination;             更改字段的定义
                modify [column] create_defination;

                drop [column] col_name;
                drop primary key;                                     不能理解,怎么能删除逐渐呢
                drop index index_name;

                rename [as] new_tb_name;                              更改表的名字
        rename table old_tb_name to new_tb_name;

查看表的信息:

        describe table_name         describe可以简写为desc 
        show [full] columns from table table_name

操作数据

增:

insert into table_name(字段A,字段B) values(ValueA,ValueB)

删:

delete from table_name where                

改:

update table_name set 字段名B=字段值B,字段名C=字段值C,where 条件

查:

        select 字段A,字段B,...
         from table_name 
         where
         group by
         order by
         having
         limit count
     where子句:
        条件判断:大于 小于之类
        like: %代表任意长度的字符 包括长度为0    _代表一个字符
        regexp:
        in:
        between and:
        ...
     group by 与having:
        group by就是按照某一个字段分组,这个相等的分为一组,having就是对group by之后的结果再来一次条件筛选

     order by:就是按照什么来排序 desc(descend)降序 asc(ascend)升序
    limit:就是限制结果的个数

进阶

查询

单表查询
//todo
多表查询

全连接

select * from tb_user,tb_order where tb_user.col_name=tb_order.col_name;

左连接:

select * from tb_user left join tb_order on tb_user.col_name=tb_order.col_name;

右连接:

select * from tb_user right join tb_order on tb_user.col_name=tb_order.col_name;
子查询

IN关键字

select * from tb_user where name in (select name from tb_order);

//todo

函数

运算符

高级特性

索引

视图

触发器

事务

存储过程

MySQL系统管理

数据安全

备份

日志

优化数据服务器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值