SQL中的CREATE INDEX和SELECT INTO语句
CREATE INDEX 语句用于在表中创建索引。
在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。用户无法看到索引,它们只能被用来加速搜索/查询。更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
在指定的列上建立名为index_name的索引:
创建时:CREATE [UNIQUE] INDEX index_name ON table_name (column_name01,...);
修改时:CREATE INDEX index_name ON table_name (column_name01,...);
DROP INDEX 语句用于删除表中的索引。
用于 MS Access 的 DROP INDEX 语法:DROP INDEX index_name ON table_name
用于 MS SQL Server 的 DROP INDEX 语法:DROP INDEX table_name.index_name
用于 DB2/Oracle 的 DROP INDEX 语法:DROP INDEX index_name
用于 MySQL 的 DROP INDEX 语法:ALTER TABLE table_name DROP INDEX index_name
SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。
SELECT column_name(s) INTO newtable [IN externaldb] FROM table1;
SELECT INTO语句可用于通过另一种模式创建一个新的空表。只需要添加促使查询没有数据返回的WHERE子句即可:
SELECT * INTO newtable FROM table1 WHERE 1=0;
MySQL 数据库不支持 SELECT INTO 语句,但支持 INSERT INTO ... SELECT 。
当然也可以使用以下语句来拷贝表结构及数据:CREATE TABLE 新表 SELECT * FROM 旧表