• MYSQL(三)


    数据库备份与还原:

    备份格式:mysqldump -u用户名 -p密码 数据库 > 文件的路径

     

     还原格式:source 路径

     可视化工具中有更快捷的方式:

    数据库约束:

    • PRIMARY KEY: 主键

    • UNIQUE: 唯一

    • NOT NULL: 非空

    • DEFAULT: 默认

    • FOREIGN KEY: 外键

    主键 primary key

    主键的特点:

    • 每一个表最好都建一个主键,当然没有也可以
    • 主键是唯一的,一个表中只有一个主键,主键的值能重复
    • 主键是非空的,就主键必须有值,且不能重复

    综合以上特点,引入自增,AUTO_INCREMENT

    自增的特点:字段类型必须为int类型,且为主键,那么这个主键的值就会随数据行数增加而增加以0,1,2,3....这样增加

    UNIQUE: 唯一:确保数据的唯一性,如果name字段使用了该该关键字则不能出现两个名字一样的人

    NOT NULL: 非空: 该字段必须填写,不能为空通常用于性别,名字等不可或缺的属性

    DEFAULT:默认:为字段设置默认值,比如归属地默认为中国

    create table stu1(
            id int primary key auto_increment,  -- id字段主键字段递增
            name varchar(20) not null,           -- name字段 非空
            sex varchar(2) not null,                    -- sex字段 非空
            p_id varchar(20) unique not null, -- p_id字段 非空,且唯一不能重复
            site varchar(20) default '中国'  -- site字段 默认值为 中国
    );

    添加数据:

    insert into stu1(`name`,sex,p_id) values('李四','','212090832109843');

    我们并没有廷加id和site;但是语句执行成功

     

    删除主键:ALTER TABLE 表名 DROP PRIMARY KEY;

    alter table stu drop primary key -- 删除stu表的主键

    FOREIGN KEY: 外键

    外建是表与表之间的约束,所以需要两个表

    create table teacher(
        id int primary key auto_increment   -- 创建教室id 主键自增
    );
    
    create table stu1(
        s_name varchar(20) ,
        t_id int,
        
        constraint s_name_t_name foreign key(t_id) references teacher(id) 
        -- 外建关联t_id 关联教师id
    );

    约束效果:

     为教师表添加三个id

     约束的另一个特点:当从表约束还存在时,主表就无法删除数据,需要删除从表的数据之后才能在删除主表,比如学生表中有1001这个存在,则教师表中的1001那条数据就不能被删除,需要学生表中的t_id字段没有1001这个值。

  • 相关阅读:
    geoserver显示shapefile中汉字呈乱码问题的可选解决方案
    C++回调函数示例
    也谈谈技术面试
    轻快好的c++实践
    向 Hacker 迈进 我的书单
    CMake是个好东西
    工作之中总有几日不在状态_你是怎样度过的?
    我是如何从煤矿工成为程序员的
    java多线程系列_用Thread类创建线程(2)
    java多线程系列_使用Runnable接口创建线程(3)
  • 原文地址:https://www.cnblogs.com/2979100039-qq-con/p/13544972.html
Copyright © 2020-2023  润新知