MySQL学习笔记

MySQL学习笔记

MySQL日期格式 %Y %m %d %h %i %s
str_to_date('字符串日期','日期格式')  把字符串转成date格式

insert into book (id,price,name,time) values(3,63.2,'lisi',str_to_date('1997-4-20','%Y-%m-%d'));

select id,date_format(time,'%d/%m/%Y') as date from book;

date是短日期,只包括年月日  '%Y-%m-%d'
datetime是长日期,包括年月日时分秒 '%Y-%m-%d %h : %i :%s'
Java时间格式  YYYY-MM-dd HH:mm:ss SSS

1.创建表的语句
drop table if exists xxx;
create table xxx{
    id int primary key,
    name varchar(255)
}engine=MyISAM default charset=utf8;

2.union 将多条查询语句的结果合并成一个结果
特点:
1、要求多条查询语句的查询列数是一致的!
2、要求多条查询语句的查询的每一列的类型和顺序最好一致
3union关键字默认去重,如果使用union all 可以包含重复项

3.count(列号) 和count(*)不会忽略null值,count(字段名)会忽略null

1.存储引擎

MYISAM和InnoDB的区别

MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,⽽且提供了⼤量的特性,包括全⽂索引、压缩、空间函数等,但MyISAM不⽀持事务和⾏级锁,⽽且最⼤的缺陷就是崩溃后⽆法安全恢复。不过,5.5版本之后,MySQL引⼊了InnoDB(事务性数据库引擎),MySQL 5.5版本后默认的存储引擎为InnoDB。

两者对比
  • 是否支持行级锁: MyISAM 只有表级锁(table-level locking),⽽InnoDB ⽀持⾏级锁(row-level locking)和表级锁,默认为⾏级锁。
  • 是否⽀持事务和崩溃后的安全恢复: MyISAM 强调的是性能,每次查询具有原⼦性,其执⾏速度⽐InnoDB类型更快,但是不提供事务⽀持。但是InnoDB 提供事务⽀持事务,外部键等⾼级数据库功能。 具有事务(commit)、回滚(rollback)和崩溃修复能⼒(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。
  • 是否⽀持外键: MyISAM不⽀持,⽽InnoDB⽀持。
  • 是否⽀持****MVCC :仅 InnoDB ⽀持。应对⾼并发事务, MVCC⽐单纯的加锁更⾼效;MVCC只在READ COMMITTED 和 REPEATABLE READ 两个隔离级别下⼯作;MVCC可以使⽤ 乐观(optimistic)锁 和 悲观(pessimistic)锁来实现;各数据库中MVCC实现并不统⼀。
  • 15623004306
MYISAM

它管理的表具有以下特征:

  • 使用三个文件表示每个表:

    • 格式文件:存储表结构的定义(.frm)

    • 数据文件:存储表行的内容(.MYD)

    • 索引文件:存储表上索引(.MYI):索引是一本书的索引,缩小扫描范围,提高检索效率

      对于一张表来说,只要是主键,或者加unique约束的字段上会自动创建索引。

  • 可被转化为压缩、只读表来节省空间。

InnoDB是MySQL缺省的存储引擎

它管理的表具有以下特征:

  • 每个InnoDB表在数据库目录中以.frm格式文件表示
  • InnoDB表空间tablespace被用于存储表的内容
  • 提供一组用来记录事务性活动的日志文件
  • 用COMMIT、SAVEPOINT及ROLLBAK支持事务处理
  • 提供全ACID兼容
  • 在MySQL服务器崩溃后提供自动恢复
  • 多版本(MVCC)和行级锁定
  • 支持外键及引用的完整性,包括级联删除和更新

InnoDB最大的特点是支持事务,以保证数据的安全,效率不是很高,并且也不能被压缩,不能转换为只读,不能很好的节省存储空间。

MEMORY存储引擎

使用MEMORY存储引擎的表,其数据存储在内存中,且行的长度固定,非常快!

它管理的表具有以下特征:

  • 每个表在数据库目录中以.frm格式文件表示
  • 表数据及索引被存储在内存中
  • 表级锁机制
  • 不能包含TEXT或BLOB字段
  • 缺点:不安全,关机之后数据消失

2.事务(transaction)

一个事务就是一个完整的业务逻辑,一个最小的工作单元,不可再分。只有DML语句与事务有关,

INSERT,DELETE,UPDATE多条DML语句,同时成功或同时失败。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值