[sql]mysql指引(整理中...)

Posted 毛台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[sql]mysql指引(整理中...)相关的知识,希望对你有一定的参考价值。

参考

db存储及分层

一个db一个文件夹.
一张表两个文件frm是存表结构的,ibd是存数据的

连接层:
    sock
    ip

sql层:
存储层:

2018年4月1日 20:53:54小结:
时间太久,抓破脑袋斗争,想不起具体 mysql事务是干嘛的

不怕不会,怕的是每次遇到都不会. 靠.... 遇到一次杀一次...

建库
建表
查表结构
插入数据

alert修改表结构
    增加字段
    删除字段
    重命名字段

事务
    transaction:
        交易;事务;

参考

start transaction; # 开启事务(注:开启后修改依旧显示已改动的,但是未真正的提交,可回滚)

commit;  # 提交事务
rollback; # 回滚事务,即撤销指定的sql语句(只能回退insert delete update语句),回滚到上一次commit的位置
savepoint p1;
rollback to p1;

参考

update: 设置值: 
    UPDATE account set balance=balance+5000 WHERE name=”xialv”;
alert: 修改表结构
    alter table haha rename to people; # 修改表名
    alter table people change name people_name char(30); #改列名
    
    alter table people add telnum int first; # 第一列加
    alter table people add id1 int first ,add sex char(4) after name; #加字段
    alter table people drop sex; # 删一列
    
    alter table people modify name char(20); #修改字段长度
  
  • my.cnf读取顺序
  • 观察启动进程(数据目录)

- - 授权用户(建用户/设密码): grant 库.表 --> 人@主机;
  回收权限: revoke: http://www.cnblogs.com/iiiiiher/articles/8836193.html
  查看用户权限: show grants for \'maotai\'@\'192.168.2.%\'


- 查看mysql版本(3种\\s; show states;\\)

- 建库 建表 插入数据
- 查看表结构(字段/及建表语句)
- 查询某几列

- 查看正在执行的sql(show processlist)
- server/client字符集
- 查询库的最大连接数
- 查询库的slow log是否开
- 查看库的大小

- 库的数据目录(1dir/per库+2个文件/per表)

- 查看建表语句
show create database test;

- 查看用户权限
show grants


- 关闭mysql
mysqladmin shutdown

数据类型: 4大数据类型
约束
索引

mysql日常维护

初始化db: 
    (5.6)mysql_install_db:
        mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
    (5.7)mysqld:
        mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.17 --datadir=/usr/local/mysql-5.7.17/data

mysqld_safe:
    启动mysql(msyql.server --> mysql_safe --> mysqld): /usr/local/mysql/bin/mysqld_safe &
    恢复密码:  /usr/local/mysql/bin/mysqld_safe --skip-grant-table &

mysqladmin
    设置密码: /usr/local/mysql/bin/mysqladmin -u root password \'123456\';
    修改密码: mysqladmin -uroot -p123456 password \'maotai123\';
            (sql语句密码函数): update mysql.user set password=PASSWORD(\'新密码\') where User=\'root\'; flush privileges;

sql优化

sql优化参考

一主多从, 读写分离

慢查询--explain--建索引

sql学习提纲

1.基础sql

2,连表
    一对多
    多对多
        left join
        right join
        inner join

3,存储过程
    mysql/pymysql
    
4,动态执行sql

5,函数

6,视图,触发器,事务

执行计划
常用sql分析
---------------------手写sql

索引
orm框架---------------orm帮我写sql

- pymysql
- 插入 更新 删除
res = excute
res = executemany

返回值: 受影响的行数


- 查询:
res = execute
    fetchone
    fetchmany
    fetchall
coursor.scroll()
- 思路版:

建表
    虚拟表--视图(view)

执行sql:
    
    连带动作--触发器(trigger)
    合并执行--事务(transection)
    存储过程&函数(procedure)
    动态执行sql

以上是关于[sql]mysql指引(整理中...)的主要内容,如果未能解决你的问题,请参考以下文章

IOS开发-OC学习-常用功能代码片段整理

sql mysql查询/ db片段

mysql 必知必会整理—sql 计算函数[六]

常用python日期日志获取内容循环的代码片段

VS2015 代码片段整理

JDBC中 mysql数据库的连接工具类 Java登录 及增删改查 整理