Home > Database > Mysql Tutorial > body text

Introduction to skills commonly used in Mysql

不言
Release: 2018-12-30 09:35:05
forward
4907 people have browsed it

This article brings you an introduction to the skills commonly used in Mysql. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

1. DML, DDL, DCL

1).DML(Dada Manipulation Language) 数据操纵语言(CRUD)
    A).新增
        a).单行插入 insert into A(a,b,c)values(a,b,c);
        b).多行插入 insert into A(a,b,c)values(a1,b1,c1),(a2,b2,c2);
    B).更新 
        a).set单字段 update A set a = 1 where c = 3;
        b).set多字段 update A set a = 1 ,b = 2 where c = 2;
    C).查询
        a).注意where条件 select a,b,c from A;
    D).删除
        a).注意where条件 delete from A where c = 3;
2).DDL(Dada Definition Language) 数据库定义语言
    A).CREATE
        a).创建表
            create table A(
                 a int(10),
                 b tinyint(4),
                 c tinyint(4),
                 d char(10),
                 ...
            );
    B).ALERT 
        a).新增字段 alter table A add tag int;
        b).修改字段 alter table A modify COLUMN tag char(20);
        c).删除字段 alter table A drop COLUMN tag;
    C).DROP
        a).删除表 drop table A;
        b).删除库 drop database Demo;
 3).DCL(Dada Control Language) 数据库控制语言
     A).grant 授权
         a).grant 权限 on 数据库对象 to 用户 
     B).deny 拒绝授权
         DENY 权限 TO 用户 
     C).revoke 撤销授权
         a).revoke 权限 on 数据库对象 from 用户 
 4).其他
     A).查看表结构
         a).desc A; 
         b).describe A; 
         c).show columns from A; 
     B).清空表数据
         a).truncate table A;
Copy after login

2. SQL statement analysis

 1).EXPLAIN、DESC语句---关键信息解释
     A).Type(system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL)
     B).Possible_keys(NULL,则没有相关的索引。在这种情况下,可以通过检查WHERE子句看是否它引用某些列或适合索引的列来提高你的查询性能)
     C).Key(MySQL实际决定使用的键(索引))
     D).Key_len(索引中使用的字节数,不损失精确性的情况下,长度越短越好)
     E).Ref(连接匹配条件,即哪些列或常量被用于查找索引列上的值)
     F).Rows(MySQL根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数)
     G).Extra(MySQL解决查询的详细信息)
 2).SHOW PROCESSLIST 分析
Copy after login

3. Mysql executes the stored procedure through job task scheduling (event)

1).事件(EVENT) 调用 函数(f(x))(存储过程)
    a).事件 
        Call proc_detail();
    b).存储过程 
        CREATE PROCEDURE proc_detail()
        BEGIN
            DECLARE  id1  bigint(20);
            DECLARE  openid1  varchar(100); 
             DECLARE  unionid1  varchar(100); 
            -- 遍历数据结束标志
            DECLARE done INT DEFAULT FALSE;
            -- 游标
            DECLARE cur_account CURSOR FOR select id,openid,unionid from m_users where phone_bind =1 ;
            -- 将结束标志绑定到游标
            DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
            -- 打开游标
            OPEN  cur_account;     
            -- 遍历
            read_loop: LOOP
                    -- 取值 取多个字段
                    FETCH  NEXT from cur_account INTO id1,openid1,unionid1;
                    IF done THEN
                        LEAVE read_loop;
                     END IF;
         
                -- 你自己想做的操作
                            insert into m_users_details(uid,openid,unionid,style) VALUES(id1,openid1,unionid1,1); 
            END LOOP;
            CLOSE cur_account;
        END
Copy after login


The above is the detailed content of Introduction to skills commonly used in Mysql. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:segmentfault.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template