mariadb笔记

时间:2023-04-09 10:58:19

MariaDB or MySQL

DDL:数据定义语言
        DML:数据操纵语言

skip_name_resolve = on ;跳过域名解析;

MariaDB [(none)]> show engines;            查看支持的存储引擎;
        MariaDB [(none)]> show global variables; 获取运行中的mysql进程使用各服务器参数及其值;
        MariaDB [(none)]> SHOW CHARACTER SET;列出可用的字符集
        MariaDB [(none)]> show collation; 列出可用的字符集
        MariaDB [(none)]> select LAST_INSERT_ID(); 查看上次插入到达的数据;
        MariaDB [(none)]> select now();             显示当前系统时间;
        MariaDB [(none)]> show grants for 用户名@来源地址;
        备份数据库:
            mysqldump -u root -p mysql user > mysql-user.sql
        恢复备份数据:
            mysqldump -u root -p < /备份路径/备份文件名

查找路径:/etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf --> --default-extra-file=/path/to/somedir/my.cnf --> ~/.my.conf

安装方法:
    MySQL:
        rpm
        源码
安装后的设定:
    (1)为所root用户设定密码
        MariaDB [(none)]> MariaDB [mysql]> update user set password=password('password') where user='root';
        MariaDB [(none)]> flush privileges;
    (2)删除所有匿名用户
        MariaDB [(none)]>

上述两步骤可运行命令:mysql_secure_installation
    (3)建议关闭主机名反解功能;

MySQL:数据类型:
    字符型:
        CHAR,BINARY:定长数据类型;
        VARCHAR,VARBINARY:变长数据类型,需要结束符;
    数值型:
        精确数值型:
            整形:TINYINT,AMALLINT,MEDIUMINT,INT,BIGINT;
            十进制型:DECIMAL,
        近似数值型:
            浮点型:FLOAT,DOUBLE,
    日期时间型:
        DATE ‘0000-00-00’    日期;
        TIME ‘00:00:00’      时间;
        DATETIME ‘0000-00-00 00:00:00’
        YEAR(2),YEAR(4) ‘0000’          年份;
        TIMESTAMP 时间戳
    字符类型修饰符:
        NOT NULL:非空约束
        NULL:允许为空;默认值
        DEFAULT ‘STRING’:默认值
        CHARCATER SET '' :使用字符集;
        COLLATION:使用的排序规则
    日期时间修饰符:
        NOT NULL
        NULL
        DEFAULT

SQL:DDL,DML
    
        DDL:数据定义语言
            HELP  CREATE 查看帮助;
            CREATE,ALTER,DROP

DB组件:数据库、表、索引、视图、用户、存储过程、触发器、事件调度等

DML:数据操作语言
            INSERT,DELETE,UPDATE,SELECT

数据库:
                CREATE,ALTER,DROP
                    {DATABASE|SCHEMA}
                    {IF EXISTS}
                    {IF NOT EXISTS}
            表:二维关系

定义:字段名,字段数据类型,修改符
                约束:索引;应该创建在经常用作查询条件的字段上;
            创建表:
                CREATE TABLE TB;
                (1)直接创建
                (2)通过查询现存的表创建,新表会被直接插入查询而来的数据;
                (3)通过复制现存的表的表结构创建;不复制数据;

查看表结构:
                DESCRIBE tb_name;
            查看表状态信息:
                show tables;
                    MariaDB [Syslog]> show table status like 'Syslog';
            修改表:
                ALTER TABLE
            删除表:
                DROP TABLE
MySQL基础(3)

单进程多线程:
            用户连接:连接线程

MySQL数据文件类型;
            数据文件、索引文件
            重做日志、撤销日志、二进制日志、错误日志、查询日志、慢查询日志、(中继日志)

DDL & DML:

索引管理:
                    按特定数据结构存储的数据:

索引类型:
                    聚集索引、非聚集索引:数据是否与索引存储在一起;
                    主键索引、辅助索引
                    稠密索引、稀疏索引:是否索引了每一个数据项;

管理索引的途径:
            表创索引:创建表是指定; CREATE INDEX
            创建或删除索引:修改表的命令
            删除索引:DROP INDEX

视图:VIEW        CREATE VIEW ; DROP VIEW
            CREATE VIEW test AS SELECT STUID,Name,Age FROM students;

DML:
        INSERT ,DELETE,UPDATE,SELECT

INSERT:
            一次插入一行或多行数据:
            INSERT  INTO  Students (Name,Age,Gender) VALUES (‘Jinjiao King’,100,'M');
            INSERT  INTO  students SET Name='Yinjiao King',Age=98,Gender='M';
        Delete:
                DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
                    [WHERE where_condition]
                    [ORDER BY ...]
                    [LIMIT row_count]

注意:一定要有限制条件,否则将清空表中的所有数据;
                限制条件:
                    WHERE
                    LIMIT
SELECT:
    
    start→from→where→group by→having→order by→LIMIT;

字段显示可以使用别名:
        col1 as NEWNAME
    where字句:指明过滤条件以实现选择的功能;
        过滤条件:布尔型表达式

算术操作符:+,-,*,/,%
        比较操作符:=,!=,<>,<=>,>,>=,<,<=

BETWEEN min_num AND max_mum (范围)
        IN  (element1,element2,...) (包含)
        IS NULL   (取值为空)
        IS NOT  NULL (取值不空)
        LIKE  (模糊匹配表达式)
            %:任意长度的任意字符
            _:单个字符
            RLKE:
            REGXP:匹配字符串可用正则表达式书写模式;
    逻辑操作符: