1. 程式人生 > >MYSQL學習筆記(十五)資料插入

MYSQL學習筆記(十五)資料插入

  1. 插入完整的行
    INSERT INTO Customers(cust_id,
    cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country,
    cust_contact,
    cust_email)
    VALUES(‘1000000006’,
    ‘Toy Land’,
    ‘123 Any Street’,
    ‘New York’,
    ‘NY’,
    ‘11111’,
    ‘USA’,
    NULL,
    NULL);
    插入列表後的括號明確給出列名,下面的值對應順序插入
    此情況下可不必與表中實際列順序相同
    若不給出明確列名,必須按該表實際列順序插入
  2. 插入部分行
    INSERT INTO Customers(cust_id,
    cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country)
    VALUES(‘1000000006’,
    ‘Toy Land’,
    ‘123 Any Street’,
    ‘New York’,
    ‘NY’,
    ‘11111’,
    ‘USA’);
    因為前面cust_contact和cust_email為NULL值,插入式可忽略
    可忽略的列要麼是NULL值,要麼在表定義中給出預設值
  3. 插入檢索出的資料
    INSERT INTO Customers(cust_id,
    cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country)
    SELECT cust_id,
    cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country
    FROM CustNew;
    這個例子將一個名為CustNew的表中讀出資料並插入到Customers表
    SELECT第一列無論列名是什麼,都將填充表列中指定第一列,其它列同理
    INSERT SELECT中SELECT語句可包含WHERE子句以過濾插入資料
  4. 插入多個行
    可以使用多條INSERT語句,甚至可以一次提交它們,每條語句後面加分號
    或者,只要每條INSERT語句中的列名相同,可如下組合:
    INSERT INTO ——(——)
    VALUES(——),
    (——);
  5. 從一個表複製到另一個表
    GREATE TABLE —— AS
    SELECT * FROM ——
    將一個表的資料完全複製到一個新建立的表