zoukankan      html  css  js  c++  java
  • SQL创建索引、主键

    -- MySQL中四种方式给字段添加索引

    1)
    # 添加主键
    # ALTER TABLE tbl_name ADD PRIMARY KEY (col_list);
    # -- // 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。

    # 添加唯一索引  -- UNIQUE 后面不用跟INDEX
    # ALTER TABLE tbl_name ADD UNIQUE index_name (col_list); 
    # // 这条语句创建索引的值必须是唯一的。

    # 添加普通索引
    # ALTER TABLE tbl_name ADD INDEX index_name (col_list);
    # // 添加普通索引,索引值可出现多次。

    # 添加全文索引
    # ALTER TABLE tbl_name ADD FULLTEXT index_name (col_list);
    # // 该语句指定了索引为 FULLTEXT ,用于全文索引。

    -- PS: 附赠删除索引的语法:

    DROP INDEX index_name ON tbl_name;
    -- // 或者
    ALTER TABLE tbl_name DROP INDEX index_name;
    ALTER TABLE tbl_name DROP PRIMARY KEY;

    2)

    CREATE INDEX index_name ON table_name (column_name);

    CREATE UNIQUE INDEX index_name ON table_name (column_name);

    索引查询

    sqlite使用索引查询的语法为

    1
    2
    3
    4
    SELECT|DELETE|UPDATE column1, column2...
    INDEXED BY (index_name)
    table_name
    WHERE (CONDITION);

    示例:SELECT * FROM salaries INDEXED BY idx_emp_no WHERE emp_no = 10005

    mysql 使用强制索引 force select * from salaries force index(idx_emp_no) where emp_no = 10005;

     强制索引

    SQLite中,使用 INDEXED BY 语句进行强制索引查询,可参考:http://www.runoob.com/sqlite/sqlite-indexed-by.html
     
    示例:
    1
    SELECT * FROM salaries INDEXED BY idx_emp_no WHERE emp_no = 10005
     
    MySQL中,使用 FORCE INDEX ()语句进行强制索引查询,可参考:http://www.jb51.net/article/49807.htm

     示例:
    1
    SELECT * FROM salaries FORCE INDEX (idx_emp_no) WHERE emp_no = 10005
  • 相关阅读:
    flask+Gunicorn+nginx部署
    配置Django实现数据库读写分离
    mysql分库分表
    python的反射
    flask-restful的使用
    spring源码(4)
    spring源码(3)
    spring源码(2)
    spring源码(1)
    tomcat8.5 配置数据源
  • 原文地址:https://www.cnblogs.com/zeon/p/14095631.html
Copyright © 2011-2022 走看看