数据库简介

数据库 - 数据的仓库 - 数据持久化,管理数据

  1. 关系(型)数据库(1970s):

    要求:① 理论基础:

    关系代数 - 关系运算 - 集合运算/关系运算/一阶谓语逻辑

    交集 并集 差集 笛卡尔积 子集 超集 存在

    投影 选择 别名 连接 (排)除 与 或 非

    all any exists

    ​ ② 具体表象:用二维表(行和列)保存数据

    行:记录 - 元组(tuple)

    列:字段 - 属性(attribute)

    ​ ③ 编程语言:SQL(Structured Query Language)- 结构化查询语言

    DDL:数据定义语言 - create(查询) drop(删除) alter(修改)

    DML:数据操作语言 - *insert(*插入) delete(删除) update(更新)

    DQL:数据查询语言 - select(选择)

    DCL:数据控制语言 - grant(给予) revoke(撤回)

    关系型数据库产品

    1. Oracle - Oracle
    2. Oracle - MySQL - MariaDB
    3. IBM - DB2
    4. Microsoft - SQLServer
    5. PostgreSQL
    6. SQLite
    MySQL命令行工具

    显示所有数据库:show database;

    创建数据库:create database school default character set utf8mb4;

    删除数据库:drop database if exists school;

    切换数据库:alter database school default character set utf8mb4;

    修改二维表:

    ​ ~ 添加列:alter table tb_student add column stu_tel varchar(20) not null;

    ​ ~ 删除列:alter table tb_student drop column stu_adder;

    ​ ~ 修改列:alter table tb_student modify column stu_sex char(1) default ‘男’;

    ​ alter table tb_student change column stu_sex stu_gender char(1) not null default ‘M’;

    ​ ~ 添加约束条件:alter table tb_student add constraint uk_student_tel unique (stu_tel); # 手机号独一无二,填相同的会报错 唯一约束

    alter table tb_student add constraint ck_student_birth check (stu_birth>=‘1990-1-1’); # 检查约束

    ​ ~ 删除约束条件:alter table tb_student drop constraint uk_student_tel;

create table tb_student
(
stu_id int not null COMMENT '学号', # not null 学号不允许为空
stu_name varchar(4) not null COMMENT '姓名', # 长度可变的4个字符
stu_sex varchar(1) not null default 1 COMMENT '性别',  # 也可以用boolean,true表示男,false表示女。
stu_birth date COMMENT '出生日期',
PRIMARY KEY(stu_id) # 关键字
)ENGINE = INNODB COMMENT '学生表'; # innodb (默认的引擎)

MySQL的数据类型:

  1. 查看数据类型帮助:?data types;

  2. 整数:int / integer (32位) bigint (64位) smallint(16位) tinyint(8位) unsigned(无符号整数)

    int ———> -2**31 ~ 2**31-1
    bigint ———> -2**63 ~ 2**63-1
    
  3. 小数:float / double(这两个不推荐使用)----> decimal(建议使用这个)

    decimal(6,2)  # 小数点后面有2位
    eg: 1234.56 
    
  4. 日期和时间:date / time / datetime ----> timestamp(不推荐使用)

  5. 字符串:varchar / char(由于效果一样建议使用varchar)

  6. 二进制数据:blob ----> binary large object (这个类型不推荐使用)

  7. JSON:json

图形化(GUI)的客户端工具

  1. MySQL Workbench

  2. Navicat for MySQL

  3. NoSQL数据库 / NewSQL数据库:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值