MySQL学习总结

来源:互联网 发布:阿里云 实时同步 编辑:程序博客网 时间:2024/06/14 07:05

    • 基础
      • MySQL数据类型
      • 操作数据库
      • 操作数据表
      • 操作数据
    • 进阶
      • 查询
        • 单表查询
        • 多表查询
        • 子查询
      • 函数
      • 运算符
    • 高级特性
      • 索引
      • 视图
      • 触发器
      • 事务
      • 存储过程
    • MySQL系统管理
      • 数据安全
      • 备份
      • 日志
      • 优化数据服务器

基础

MySQL数据类型

数字类型:    整型:        tinyint bool bit    一个字节        smallint            两个字节        mediumint           三个字节        int                 四个字节        bigint              八个字节        decimal             自定义长度    浮点型:        float               四个字节        double              八个字节字符串类型:char(M):                M个字符 M:0--255               varchar(M):             M个字符 M:0--255text:    tinytext:           0-(2^8-1)个字符    text:               0-(2^16-1)    mediumtext:         0-(2^24-1)    longtext:           0-(2^32-1)日期时间:date:                   YYYY-MM-DDtime:                   HH:MM:SSdatetime:               YYYY-MM-DD HH:MM:SStimestamp               year:                   可以指定为显示四位或者两位BLOB:(长度同text,支持存储二进制文件)tinyblobblobmediumbloblongblobSet和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
原创粉丝点击