美文网首页
MySQL增删改查和添加外键

MySQL增删改查和添加外键

作者: 你笑的那么美丶 | 来源:发表于2019-03-06 12:17 被阅读0次

    1. 增加表信息

    mysql> insert into student(name,age) values ("小芳",18),("李华",18),("小李子",18),("小燕子",18),("紫薇",18);
    Query OK, 5 rows affected (0.00 sec)
    Records: 5  Duplicates: 0  Warnings: 0
    
    mysql> select * from student;
    +----+-----------+------+
    | id | name      | age  |
    +----+-----------+------+
    |  1 | 小芳      |   18 |
    |  2 | 李华      |   18 |
    |  3 | 小李子    |   18 |
    |  4 | 小燕子    |   18 |
    |  5 | 紫薇      |   18 |
    +----+-----------+------+
    5 rows in set (0.00 sec)
    
    mysql> insert into class(name) values ("云计算1810"),("云计算1901"),("云计算1902") ;
    Query OK, 3 rows affected (0.00 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    
    mysql> select * from class;
    +----+---------------+
    | id | name          |
    +----+---------------+
    |  1 | 云计算1810    |
    |  2 | 云计算1901    |
    |  3 | 云计算1902    |
    +----+---------------+
    3 rows in set (0.00 sec)
    
    

    2. 添加列class_id 列属性和class表id 属性int相同

    mysql> alter table student add  class_id int;
    Query OK, 0 rows affected (0.09 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> select * from student;
    +----+-----------+------+----------+
    | id | name      | age  | class_id |
    +----+-----------+------+----------+
    |  1 | 小芳      |   18 |     NULL |
    |  2 | 李华      |   18 |     NULL |
    |  3 | 小李子    |   18 |     NULL |
    |  4 | 小燕子    |   18 |     NULL |
    |  5 | 紫薇      |   18 |     NULL |
    +----+-----------+------+----------+
    5 rows in set (0.00 sec)
    

    3. 更新字段

    mysql> update student set class_id=1 where id>=2 and id<=3;
    Query OK, 2 rows affected (0.10 sec)
    Rows matched: 2  Changed: 2  Warnings: 0
    
    mysql> select * from student;
    +----+-----------+------+----------+
    | id | name      | age  | class_id |
    +----+-----------+------+----------+
    |  1 | 小芳      |   18 |     NULL |
    |  2 | 李华      |   18 |        1 |
    |  3 | 小李子    |   18 |        1 |
    |  4 | 小燕子    |   18 |     NULL |
    |  5 | 紫薇      |   18 |     NULL |
    +----+-----------+------+----------+
    5 rows in set (0.00 sec)
    
    mysql> update student set class_id=null;
    Query OK, 2 rows affected (0.00 sec)
    Rows matched: 5  Changed: 2  Warnings: 0
    
    mysql> select * from student;
    +----+-----------+------+----------+
    | id | name      | age  | class_id |
    +----+-----------+------+----------+
    |  1 | 小芳      |   18 |     NULL |
    |  2 | 李华      |   18 |     NULL |
    |  3 | 小李子    |   18 |     NULL |
    |  4 | 小燕子    |   18 |     NULL |
    |  5 | 紫薇      |   18 |     NULL |
    +----+-----------+------+----------+
    5 rows in set (0.00 sec)
    
    

    4. 增加外键的约束属性

    alter table 从表 add constraint 外键名称 foreign key 从表(从表列名)reference 主表(主表列名);

    mysql> alter table student add constraint FK_class_id foreign key student(class_id) references class(id);
    Query OK, 5 rows affected (0.10 sec)
    Records: 5  Duplicates: 0  Warnings: 0
    
    

    5. 查询从表和主表的对应信息

    mysql> select * from student a , class b where a.class_id=b.id;
    +----+-----------+------+----------+----+---------------+
    | id | name      | age  | class_id | id | name          |
    +----+-----------+------+----------+----+---------------+
    |  1 | 小芳      |   18 |        2 |  2 | 云计算1901    |
    |  2 | 李华      |   18 |        1 |  1 | 云计算1810    |
    |  3 | 小李子    |   18 |        1 |  1 | 云计算1810    |
    |  4 | 小燕子    |   18 |        2 |  2 | 云计算1901    |
    |  5 | 紫薇      |   18 |        3 |  3 | 云计算1902    |
    +----+-----------+------+----------+----+---------------+
    5 rows in set (0.00 sec)
    

    相关文章

      网友评论

          本文标题:MySQL增删改查和添加外键

          本文链接:https://www.haomeiwen.com/subject/nsdtpqtx.html