MySQL 插入,更新與刪除數據,索引 學習筆記


  • 插入,更新與刪除
    • 插入數據
      • 為表的所有字段插入數據,INSERT INTO table_name (column_list) VALUES (value_list); column的順序可以不與表中定義的順序相同,但是 value的順序必須相同。插入數據時也可以不指定column。
      • 為表的指定字段插入數據。
      • 同時插入多條記錄。INSERT INTO table_name (column_list) VALUES (value_list1),(value_list2),...,(value_listN);。
      • 將查詢結果插入到表中 INSERT INTO table_name1 (column_list1) SELECT (column_list2) FROM table_name2 WHERE (condition)。
    • 更新數據  UPDATE table_name SET column_name = value1,column_name2=value2,....,column_nameN=valueN WHERE (condition);
    • 刪除數據 DELETE FROM table_name [WHERE <condition>];
  • 索引
    • 索引簡介 對表中一列或多列的值進行排序,使用索引可以提高數據庫中特定數據的查詢速度。索引是一個單獨的,存儲在磁盤上的數據結構,包含着對數據表里所有記錄的引用指針。有BTREE和HASH兩種存儲類型,跟表的存儲引擎相關,MyISAM和InnoDB存儲引擎只能支持BTREE,MEMORY和HEAP可以支持者兩種索引。普通索引和唯一索引,單列索引和組合索引,全文索引(只有MyISAM支持全文索引),空間索引(空間數據類型有GEOMETRY,POINT,LINESTRING,POLYGO)使用SPATIAL關鍵字進行擴展,只有MyISAM可以創建空間索引,且值必須為NOT NULL。
    • 創建索引
      • 創建表的時候創建索引
        • 創建普通索引    CREATE TABLE book (bookid INT NOT NULL, year_publication YEAR NOT NULL, INDEX(year_publication)); 使用explain語句查看索引是否創建成功。
        • 創建唯一索引    CREATE TABLE t1 (id INT NOT NULL, name CHAR(30) NOT NULL, UNIQUE INDEX UniqIdx(id));
        • 創建單列索引    CREATE TABLE t2 (id INT NOT NULL, name CHAR(30) NULL, INDEX SingleIdx(name(20)));
        • 創建組合索引    CREATE TABLE t3 (id INT NOT NULL, name CHAR(30) NOT NULL, age INT NOT NULL, info VARCHAR(255), INDEX MultiIdx(id,name,age(100)));
        • 創建全文索引    CREATE TABLE t4 (id INT NOT NULL, name CHAR(30) NOT NULL, age INT NOT NULL, info VARCHAR(255), FULLTEXT INDX FullTextIdx(info)) ENGINE=MyISAM;
        • 創建空間索引    CREATE TABLE t5 (g GEOMETRY NOT NULL, SPATIAL INDEX spatIdx(g))ENGIN=MyISAM;
      • 在已經存在的表上創建索引
        • 使用ALTER TABLE語句創建索引,ALTER TABLE book ADD INDEX BkNameIdx(bookname(30);
        • 使用CREATE INDEX創建索引,CREATE INDEX BkNameIdx ON book(bookname); CREATE UNIQUE INDEX UniqidIdx ON book (bookId);
      • 刪除索引
        • 使用ALTER TABLE刪除索引   ALTER TABLE table_name DROP INDEX index_name;
        • 使用DROP INDEX語句刪除索引 DROP INDEX index_name ON table_name;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM