• MySQL ------ 表的操作 (三)


    1、创建数据表

    -- 创建表
    create table tbUser(user_id int not null auto_increment,user_name varchar(50) not null,user_sex char(10) null,PRIMARY KEY(user_id ));

     

     InnoDB   是数据库引擎的一种

     2、将表关联起来,要使用外键(froeign key)

    如:下面的商品表和供应商表,在商品表中创建一个字段与供应商表的主键关联起来,好处就是节省了空间时间,当这个供应商改名了,你只要只修改供应商表就行了,

    ALTER TABLE products ADD CONSTRAINT fk_products_vendors FOREIGN KEY (vend_id) REFERENCES vendors (vend_id);

     插入数据

    可以拷贝多个,放到mysql 中一块执行

    3、查看一下:  加了6个表

     查看表中包含的字段名、数据类型、是否允许为空键的信息等

    show columns from tableName;

     外键的话

    4、重命名表(RENAME TABLE)

    查看一下有几个表,给tbuser1 重命名一下

    -- 将tbuser1 改名为 tb_obge
    rename table tbuser1 to tb_obge;

     也可以修改多个

    5、删除表(DROP TABLE)

    删除没有确认也不能撤销,执行该语句将永久删除该表

    --  删除表 tb_obgeshuai     drop table 表名;
    drop table tb_obgeshuai;

    6、更新表(ALTER TABLE)

     理想状态下,当表中存储数据后,表就不应该更新了,所以在设计表时要多多考虑,以便后期不对表进行较大改动

    查看一下原有表中列

    -- 更改表,增加一列   
    --  alter table 表名  add 列名 指定列的类型;
     alter table tb_user add user_test char(30);

    -- 删除表中列
    -- alter table 表名 drop column 表中列名;
    alter table tb_user drop column user_test;

     还有一种就是定义外键

     注意:

      1、对单个表进行多个更改,可以使用单条ater table 语句,每个更改使用逗号分隔

      2、复杂的表结构更改一般要手动删除过程

    主要步骤:
        a、用新的列布局创建一个新表
        b、使用insert select 从旧表中复制数据到新表,如果有必要,可使用转换函数和字段
        c、检验包含所需数据的新表
        d、重命名旧表(如果确定可以删除)
        e、用旧表原来的名字重命名新表
        f、根据需要重新创建触发器、存储过程、索引和外键

      3、使用alter table 要极为小心,应该在进行改动前做一个完整备份(模式和数据的备份),数据表更改后不能撤销,如果删了不该删除的列可能会丢失数据

    相关概念可以参考创建表
    

    数据定义语言  DDL (全称:Data Query Language):定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引四个部分

     语句:包括动词CREATE(创造),ALTER(修改)和DROP(删除)。
        关于另外五种的介绍 https://www.cnblogs.com/obge/p/11477395.html
  • 相关阅读:
    【codeforces 755A】PolandBall and Hypothesis
    【codeforces 755B】PolandBall and Game
    【codeforces 755C】PolandBall and Forest
    Enhancing network controls in mandatory access control computing environments
    NPM 使用介绍
    【oracle】首次启动SQL Developer配置java.exe出错(Could not find jvm.cfg! )
    day70-oracle PLSQL_02光标
    day69-oracle 22-DBCA
    day70-oracle 12-Java调用存储过程和存储函数
    day17 16.关于sql注入与PreparedStatement介绍
  • 原文地址:https://www.cnblogs.com/obge/p/12918220.html
Copyright © 2020-2023  润新知