• mysql-创建和操作表


    一、建表

      为了用程序创建表,我们可以使用SQL的create table 语句。如下:  

      每个列之间用逗号隔开,每列的定义以列名开始,后跟列的数据类型。

      表的主键可以在创建表时用primary key关键字指定。

      这张表使用InnoDB引擎创建。

      

      1、·使用null值:允许null值的列也允许在插入时不给出该列的值。不允许null值的列不接受该列没有值的行。在插入或更新行时,该列必须有值

      ·2、主键primary key:主键必须唯一,即表中的每个行必须具有唯一的主键值,如果主键使用单个列,则它的值必须唯一。如果使用多个列,则这些列的组合字必须唯一。

      ·3、使用AUTO_INCREMENT:它告诉MYSQL,本列每当增加一行时自动增量,每次执行一个insert操作时,mysql自动对该列增量,给该列赋予下一个可用的值。这样给每行分配一个唯一的id,从而可以用作主键值。每个表只允许一个AUTO_INCREMENT列,而且必须被索引。我们还可以使用如下语句获得最后一个auto_increment的值:

      select last_insert_id();

      此语句返回当最后操作某张表时,如果该张表有AUTO_INCREMENT类型字段当主键,它的最后一个Auto_increment的值,然后你可以将它用作后续的mysql语句。

      ·4、指定默认值:如果插入行时没有给出值,mysql允许指定此时使用的默认值,默认值用default关键字指定。如下:

      

      使用default,如果quantity没有插入值,默认为1;

      

      5、引擎类型:mysql具备多个引擎,每种引擎具备不同的功能和特性,为不同的任务选择正确的引擎能获得良好的功能和灵活性。

      在建表最后一般加上engine=xxx,如果不加的话,默认为MyISAM引擎。常用的有:

      a、InnoDB:是一个可靠地事务处理引擎,但是它不支持全文检索。

      b、MEMORY:在功能上等同于MyISAM,但是由于数据库在内存中,速度很快,适用于临时表

      c、MyISAM:性能极高的引擎,支持全文搜索,不支持事务处理。

    二、更新表

      为了更新表定义,可以使用ALTER TABLE语句,但是当该表有数据后,最好就不要修改该表了。

      1、增加列:alter table vendors add vend_phone char(20);

      2、删除列:alter table vendors drop column vend_phone;

      3、定义外键:

        alter table orderitems add constraint fk_orderitems_orders foreign key(order_num) references orders(order_num);

    三、删除表、重命名表

      使用drop table语句

      drop table customers2;

        执行这条语句将永远删除该表

      使用rename table 语句可以对表进行改名:

      rename table customers2 to customers;  

      也可以使用如下对多个表进行更改:  

      rename table back_customers to customers,back_vendors to vendors, back_products to products;

  • 相关阅读:
    绿盟UTS综合威胁探针管理员任意登录
    深信服EDR3.2.21任意代码执行
    linux反弹shell总结
    mysql在8.0版本下修改密码的命令
    Linux提权常用漏洞速查表
    windows提权常用系统漏洞与补丁编号速查对照表
    通达OA<=11.5版本SQL注入——附件上传
    通达OA<=11.5版本SQL注入——日程安排
    希尔伯特曲线python3实现
    深信服edr控制中心漏洞——验证码逻辑错误
  • 原文地址:https://www.cnblogs.com/television/p/8359948.html
Copyright © 2020-2023  润新知