码迷,mamicode.com
首页 > 数据库 > 详细

MariaDB SQL 插入数据

时间:2015-05-05 14:16:52      阅读:1591      评论:0      收藏:0      [点我收藏+]

标签:

插入单独的完整行,插入单独的部分行


INSERT INTO Custormers
VALUES(NULL,
    Pep E. Lapew,
    100 Main Street,
    Los Angeles,
    CA,
    90046,
    USA,
    NULL,
    NULL);

……以上SQL语句极度依赖列在表中定义的次序。它也依赖插入信息的次序。即使可以,也无法保证下一次表重构后,列仍保持完全相同的次序。……

INSERT INTO customers(cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country,
    cust_contact,
    cust_email)
VALUES(Pep E. Lapew,
    100 Main Street,
    Los Angeles,
    CA,
    90046,
    USA,
    NULL,
    NULL);
  • 由于提供了列名,VALUES必须以指定的顺序来匹配列名,而不是按照列在实绩表中出现的顺序。这样做的优势是,即使表结构改变了,INSERT语句仍然可以正常工作。

……不管你在正在使用什么样的INSERT语句,VALUES的数量必须正确。……使用这种语法,可以忽略列。这意味着仅为某些列提供了值,而其他列没有。(当列名被显示列出时,cust_id被忽略)

  • 忽略列:忽略列必须满足以下条件之一:列被定义为允许为NULL值(没有值);一个默认的值被表定义.(意味着如果没有指定列的值,就是用默认值)

这里贴出一段创建表的SQL语句:

CREATE TABLE `appPowerInfo` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 自增长id,
  `createTime` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 创建该条记录的时间,
  `updateTime` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 最新更新记录的时间,
  `endTime` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 失效时间,
  `validity` tinyint(4) unsigned NOT NULL DEFAULT 1 COMMENT 有效性:0:无效的;1:有效的;,
  `remark` varchar(64) NOT NULL DEFAULT ‘‘ COMMENT 备注,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

注意其中 :

NOT NULL DEFAULT 0 

 

LOW_PRIORITY


 

如果数据检索更加重要(通常如此),可以降低MariaDB降低INSERT语句的优先级:

INSERT LOW_PRIORITY INTO

 

 

本节待续的主题


  1. 插入多行
  2. 插入检索到的数据

 

MariaDB SQL 插入数据

标签:

原文地址:http://www.cnblogs.com/dotdog/p/4478837.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!