mysql小笔记

1.基本命令

1.1 grant命令

1.1.1 基本格式:

grant 权限 on 数据库对象 to 用户@用户地址 identified by '连接口令(密码)'

例如:

grant 普通数据用户,查询,插入,更新,删除数据库中所有表数据的权利

grant select,insert,update delete on testdb.tc(testdb.*) to common_user@'%'

grant 高级DBA管理mysql中所有数据库的权限

grant all on *.* to dba@'localhost'

撤销权限

grant  all on *.* to   dba@localhost
revoke all on *.* from dba@localhost

1.2 alter命令

ALTER TABLE 表名 DROP 列名
ALTER TABLE 表名 ADD  列名 [列属性...]
ALTER TABLE 表名 CHANGE 旧列名 新列名 [列属性];
ALTER TABLE 表名 ADD INDEX|PRIMARY KEY|UNIQUE 索引名(列名);
ALTER TABLE 表名 DROP INDEX 索引名(普通索引和唯一索引)
ALTER TABLE 表名 DROP primary key(单独删除主键)

1.3 group by和having命令

例如:

select name,sum(score) from A group by name

先根据name分组,再在每一组的score上调用聚合函数(在此处是sum)
得到类似如下的结果:

name score 
Ross  180 
Joye  230

1.3.1 having命令

select name,sum(score) from A group by name having score=80;

先根据name分组,再对score进行筛选,只有score等于80的时候sum函数才会作用于score列.

2.MyISAM和InnoDB主要区别

2.1. MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键。每张MyISAM表存放在三个文件中:frm 文件存放表格定义;数据文件是MYD (MYData);索引文件是MYI (MYIndex)。MyISAM不适合做大量更新操作和查询操作应用,因为MyISAM的读的优先级低于写的优先级,大量的更新操作会造成查询操作很难获得读锁。

  • 通过指定启动参数low-priority-updates,使MyISAM引擎默认给予读请求以优先的权利。
  • 通过执行命令SET LOW_PRIORITY_UPDATES=1,使该连接发出的更新请求优先级降低。
  • 通过指定INSERT、UPDATE、DELETE语句的LOW_PRIORITY属性,降低该语句的优先级
  • 虽然上面3种方法都是要么更新优先,要么查询优先的方法,但还是可以用其来解决查询相对重要的应用(如用户登录系统)中,读锁等待严重的问题。另外,MySQL也提供了一种折中的办法来调节读写冲突,即给系统参数max_write_lock_count设置一个合适的值,当一个表的读锁达到这个值后,MySQL就暂时将写请求的优先级降低,给读进程一定获得锁的机会。

2.2. InnoDB是事务型引擎,支持回滚、崩溃恢复能力、多版本并发控制、ACID事务,支持行级锁定(InnoDB表的行锁不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,如like操作时的SQL语句),以及提供与Oracle类型一致的不加锁读取方式。InnoDB存储它的表和索引在一个表空间中,表空间可以包含数个文件。InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值