MySQL数据库

数据库 — 数据仓库 — 数据持久化,管理数据

关系(型)数据库:

MySQLOracleSQLServerMariaDBDB2PostgreSQLSQLite(嵌入式数据库)等

非关系型数据库:NoSQL数据库/NewSQL数据库

  1. 关系代数:关系运算 ——> 集合运算 / 关系运算 / (一阶)谓词逻辑
    1. 交集、 并集、 差集、 笛卡尔积、 子集、 超级 、 存在
    2. 关系运算:投影、别名、选择、连接、排除、与、或、非
    3. all / any / exists
  2. 具体表象:使用二维表保存数据
    1. 行: 记录 —— 元组(tuple)
    2. 列: 字段 —— 属性(attribute)
  3. 编程语言:SQL (Structured Query Language) ——结构化查询语言
    1. DDL: 数据定义语言 —— creat(创建) / drop(删除) / alter(修改)
    2. DML:数据操作语言 —— insert(插入) / delete(删除) / updata(更新)
    3. DQL:数据查询语言 —— select(选择)
    4. DCL:数据控制语言 —— grant(授予) / recoke(召回)
  4. MySQL命令行工具——数据库操作
    1. 显示所有数据库:show databases;
    2. 创建数据库:create database school default charset utf8mb4; 创建数据库并设置默认字符集为utf8mb4
    3. 删除数据库:drop database if exists school;
    4. 修改数据库:alter database school default charset linet1;修改数据库宁设置默认字符集为``
    5. 切换数据库:use school;
  5. MySQL命令行工具——数据表操作
    1. 显示数据表:show tables;
    2. 创建数据表:create table 表名(字段名);
    3. 查看表结构:desc tb_student;
    4. 删除表:drop table if exists tb_student;
    5. 修改表:
      1. 添加列:alter table tb_student add column stu_tel varchar(20) not null;表中有数据不能进行非空约束
      2. 删除指定列:alter table tb_student drop column stu_addr;
      3. 修改指定列:
        1. alter table tb_student modify column stu_gender char(1) default "M";只改变列的类型
        2. alter table tb_student change column stu_gender stu_sex char(1) not null default "男"; 修改类型
      4. 添加约束条件:
        1. 添加唯一性约束:alter table tb_student add constraint uk_student_tel unique (stu_tel); add constraint添加约束, uk_student_tel是起的名,便于后续操作,后面同理
        2. 添加检查约束:alter table tb_student add constraint ck_student_tel check (stu_birth >= '1990-1-1');
      5. 删除约束条件:alter table tb_student drop constraint uk_student_tel; 删除添加约束是起的名
  6. 约束
    1. 非空约束:not null 保证字段的值不能为空
    2. 默认约束:default 默认约束,保证字段总会有值,即使没有插入值,都会有默认值!
    3. 唯一性约束:unique保证唯一性但是可以为空,比如座位号
    4. 检查性约束:check检查性约束
    5. 外键约束:foreign key同时保证唯一性和非空
    6. 主键约束:primary key用于限制两个表的关系,保证从表该字段的值来自于主表相关联的字段的值!
  7. 引擎
    1. engine = innodb使用innodb引擎
  8. 数据类型:
    1. 查看数据类型帮助:?data types;
    2. 整数:int / intrger (32位) ——> bigint (64位 )/ samllint (16位)/tinyint (8位) ——> undignet无长度整数
    3. 小数:float / double ——> decimal
    4. 日期和时间:date / time / datetime ——> timestamp
    5. 字符串:varchar / char
    6. 二进制文件:bolb
    7. JSON:json 保存json数据或json对象

你可能感兴趣的:(SQL,学习,开发语言,sql,mysql)