• mysql


    mysql   存储引擎 

    1)Myisam:表级锁 不支持外键事务行级锁。数据存在硬盘上,存三个文件,表结构,数据,和搜索目录。对于只读操作比较多的情况 查询速度相对快

    2)Innodb:外键 行级锁(并发修改) 事务(客户管理系统)。

    3)Memory:只能在内存中存储数据 重启server数据丢失。

    mysql  基础数据类型  数字

            int         id/age/部门编号
    float(8,2) salary
    字符串
    char 定长 越是长度固定char越节省空间 读写速度快
    名字 部门名
    varchar 变长 越是长度不固定varchar越节省空间 读写速度慢
    部门描述
    时间
    year
    date 入职日期 离职 开学 毕业
    time
    datetime 出生日期 交易记录 打卡时间
    timestamp
    enum 和 set
    enum 单选
    enum('male','female')
    set 多选(去重)
    完整性约束
    id int unsigned
    id int default 0
    id int not null
    id int unique
    auto_increment 相当于非空+自增且只能用于整数类型
    id int unique auto_increment
    id int primary key auto_increment
    非空 + 唯一
    id int unique not null 如果没有主键,第一个设置非空唯一的就是主键
    联合唯一
    id int,
    name char(12),
    unique(id,name)
    primary key 主键 一张表只能有一个主键
    id int primary key
    foreign key 外键
    id int,
    name char(12),
    tid int,
    foreign key(tid) references 外表(字段名) on update cascade on delete cascade
    表的操作
    创建表
    create table 表名(
    字段名 类型(长度约束) 其他约束,
    字段名 类型(长度约束) 其他约束,
    字段名 类型(长度约束) 其他约束);
    删除表
    drop table 表名
    修改表
    alter table 表名 rename 新表名;
    add 新字段 类型(长度约束) 其他约束 first;
    drop 字段 ;
    modify 原字段名 新类型(新长度) 新约束 after 某字段;
    change 原字段名 新字段名 新类型(新长度) 新约束;
    查看表结构
    desc 表名 == describe 表名
    show create table 表名; 查看详细表结构,存储引擎 编码 更复杂的约束条件

    默写
    员工id 姓名 性别 年龄 入职日期 部门 部门描述 部门编号 薪资
    create table staff(
    id int primary key auto_increment,
    name char(12) not null
    sex enum('male','female') default 'male',
    age int,
    hire_date date,
    post_name char(12),
    post_comment varchar(255),
    post_id int,
    salary float(8,2) unique
    )

    拆分表
    create table post(
    post_id int primary key auto_increment,
    post_name char(12),
    post_comment varchar(255)
    )
    create table staff(
    id int primary key auto_increment,
    name char(12) not null
    sex enum('male','female') default 'male',
    age int,
    hire_date date,
    salary float(8,2) unique
    post_id int,
    foreign key(post_id) references post(post_id)
    )

    建立表之间的关系
    一对多(多对一)
    一个 (foreign key  ()  references ()  on delete cascade on update cascade)

    一对一 与一对多相似 一对一 的关联 为 unique (不同)

    多对多 为多张表之间的关系 多个 (foreign key () references () on delete cascade on update cascade)
    外键一定是另一个表的主键。
  • 相关阅读:
    机器学习实战
    python中的上下文管理器
    python中的参数传递
    SecureCRT在mac下无法输入中断命令
    Vim练级攻略(转)
    09_MySQL DQL_SQL99标准中的多表查询(外连接)
    08_MySQL DQL_SQL99标准中的多表查询(内连接)
    07_MySQL DQL_多表查询_等值内连接
    06_MySQL DQL_分组查询
    05_MySQL常见函数_分组函数
  • 原文地址:https://www.cnblogs.com/qj696/p/10762741.html
Copyright © 2020-2023  润新知