zoukankan      html  css  js  c++  java
  • MySQL密码重置&数据库备份还原&外键约束(多表关系)

    重置mysl密码:

    1:停止mysql服务;
    2:在cmd下启动mysqld服务
    mysqld --skip-grant-tables (绕过权限进入mysql)
    3:重新开启cmd命令行(登录mysql不需要输入密码)
    4:修改root密码
    a:use mysql;
    b:update user set password = password('abc') where user = 'root';
    5:结束mysqld的进程
    6:重启mysql服务

    数据库的备份:

    cmd命令行窗口下(mysqldump -u root -p 要备份的数据库名称 > 目标路径)

    数据库的还原:

    第一种:cmd命令行窗口下(mysql -u root -p 要备份到的数据库名 < 已备份文件路径)
    第二种:切换到要备份到的数据库下,使用soure备份(use mydb; source 已备份文件路径)

    多表设计之外键约束:

    创建一个部门表:
    create table dept(
      did int primary key auto_increment,
      dname varchar(20)
    )
    创建一个员工表:
    create table employee(
      eid int primary key auto_increment,
      ename varchar(20),
      salary double,
      birthday date,
      sex varchar(10),
      dno int
    )
    插入一个没有部门的员工,删除一个带有员工的部门,这中情况都是不允许发生的,这个时候就需要在多表之间添加外键约束。
     
     
    在员工表上添加外键
    alter table employee add foreign key (dno) references dept(did);
    设置外键为非空
    alter table employee modify dno int not null;

    多表关系:

    一对多
      在多的一方创建外键指向一的一方的主键。
    多对多
      需要创建中间表,中间表中至少两个字段,分别做为外键指向多对多双方的主键。
    一对一
      方式一:假设是一对多,在多的一方创建外键指向一的一方的主键,将外键设置为unique。
      方式二:将两个表的主键建立对应关系即可。



  • 相关阅读:
    Ubuntu虚拟机磁盘空间不足的解决
    eclipse启动报错 JVM terminated. Exit code=1
    Ubuntu16.04 安装eclipse
    HDU 1710 Binary Tree Traversals(二叉树)
    Ubuntu16.04 搭建伪分布式Hadoop环境
    HDU 1560 DNA sequence(IDA*)
    Go的函数
    Go的包
    Go语言开发环境搭建
    go的循环
  • 原文地址:https://www.cnblogs.com/laodang/p/8981968.html
Copyright © 2011-2022 走看看