Heim >Datenbank >MySQL-Tutorial >Einführung in häufig in MySQL verwendete Fähigkeiten

Einführung in häufig in MySQL verwendete Fähigkeiten

不言
不言nach vorne
2018-12-30 09:35:054913Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die in MySQL häufig verwendeten Fähigkeiten. Ich hoffe, dass er für Freunde hilfreich ist.

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;

2. SQL-Anweisungsanalyse

 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 分析

3. MySQL führt die gespeicherte Prozedur

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


durch Job-Task-Planung (Ereignis) aus.

Das obige ist der detaillierte Inhalt vonEinführung in häufig in MySQL verwendete Fähigkeiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen