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:匹配字符串可用正则表达式书写模式;
逻辑操作符: