mariadb(mysql):


数据结构模型:层次模型、网状结构、关系模型


关系模型:

二维关系:row, column


数据库管理系统:DBMS

关系:Relational,RDBMS

基础概念:

约束:constraint,向数据表提供的数据要遵守的限制;

主键:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;必须提供数据,即NOT NULL; 

一个表只能存在一个

惟一键:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;允许为NULL;

一个表可以存在多个

外键:一个表中的某字段可填入数据取决于另一个表的主键已有的数据;

检查性:


索引:将表中的一个或多个字段中的数据复制一份另存,并且此些需要按特定次序排序存储;


关系运算:

选择:挑选出符合条件的行(部分);

投影:挑选出需要的字段;

连接:

        MariaDB的程序组成:

C: 

mysql:CLI交互式客户端程序;

mysqldump, mysqladmin...

S:

mysqld_safe

mysqld

mysqld_multi


服务器监听的两种socket地址:

ip socket: 监听在tcp的3306端口,支持远程通信; 

unix sock: 监听在sock文件上(/tmp/mysql.sock, /var/lib/mysql/mysql.sock),仅支持本地通信;

server: localhost, 127.0.0.1

命令行交互式客户端程序:mysql

mysql 

-uUSERNAME: 用户名;默认为root

-hHOST: 服务器主机; 默认为localhost

-pPASSWORD:用户的密码;  默认为空密码


注意:mysql用户账号由两部分组成:'USERNAME'@'HOST'; 其中HOST用于限制此用户可通过哪些主机远程连接mysql服务;

支持使用通配符:

%: 匹配任意长度的任意字符;

172.16.0.0/16, 172.16.%.%

_: 匹配任意单个字符;


命令:

客户端命令:本地执行

mysql> help

每个命令都完×××式和简写格式;

status, \s


服务端命令:通过mysql协议发往服务器执行并取回结果

每个命令都必须命令结束符号;默认为分号;


关系型数据库的常见组件:

数据库:database

表:table

行:row

列:column

索引:index

视图:view

用户:user

权限:privilege


存储过程:procedure

存储函数:function

触发器:trigger

事件调度器:event scheduler


mysql_secure_installation:安全初始化


SQL语句:

DDL: Data Defination Language

CREATE, DROP, ALTER


DML: Data Manipulation Language

INSERT, DELETE, UPDATE, SELECT


GRANT, REVOKE


数据库:

CREATE DATABASE|SCHEMA [IF NOT EXISTS] 'DB_NAME'; 

DROP DATABASE|SCHEMA [IF EXISTS] 'DB_NAME'; 


CHARACTER SET 'charecter set name'

COLLATE 'collate name'


查看支持所有字符集:SHOW CHARACTER SET;

查看支持所有排序规则:SHOW COLLATIONS;


获取命令使用帮助:

mysql> HELP KEYWORD;


查看:

mysql> SHOW DATABASES; 


表:

CREATE TABLE [IF NOT EXISTS] tb_name (col1 datatype 修饰符, col2 datatype 修饰符) ENGINE=''


查看所有的引擎:SHOW ENGINES;


查看表:SHOW TABLES [FROM db_name]

查看表结构:DESC [db_name.]tb_name


删除表:

DROP TABLE [IF EXISTS] tb_name;


数据类型:

字符型

定长字符型:CHAR(#), BINARY(#)

变长字符型: VARCHAR(#), VARBINARY(#)


对象存储:

TEXT: 不区分大小写

BLOB:区分字符大小写

内置类型:

ENUM

SET

数值型

精确数值型

整型: int

tinyint: 1byte

smallint: 2bytes

mediumint: 3bytes

int: 4bytes

bigint: 8bytes

十进制: decimal

近似数值型

单精度浮点型

float

双精度浮点型

double


修饰符:

NOT NULL:非空约束

DEFAULT VALUE: 设定默认值