你可以把这个查询放在一个脚本文件并且从它重定向输入到
mysql命令行解释器,将其输出作为管道返回给解释器的第2个实例:
prompt>
mysql --skip-column-names mydb < myscript.sql |
mysql mydb
MySQL仅支持INSERT ... SELECT ...和REPLACE ... SELECT ...,独立的子选择将可能在3.24.0得到,然而,在其他环境下,你现在可以使用函数IN()。
SELECT INTO TABLE
MySQL还不支持
Oracle SQL的扩展:SELECT ... INTO TABLE ....,相反MySQL支持ANSI SQL句法INSERT INTO ... SELECT ...,基本上他们是一样的。
另外,你可使用SELECT INTO OUTFILE...或CREATE TABLE ... SELECT解决你的问题。
事务处理 不支持事务处理。MySQL将在短时间内支持原子(atomic)操作,它象没有回卷的事务。用原子操作,你能执行一组INSERT/SELECT/whatever 命令并且保证没有其他线程介入。在本文中,你通常不会需要回卷。目前,你可通过使用LOCK TABLES和UNLOCK TABLES命令阻止其他线程的干扰。见7.24 LOCK TABLES/UNLOCK TABLES句法。
存储过程和触发器 一个存储过程是能在服务器中编译并存储的一套SQL命令。一旦这样做了,顾客不需要一直重新发出全部查询,而可以参考存储过程。因为查询仅需一次词法分析并且较少的信息需要在服务器和客户之间传送,因此这提供了更好的性能。你与可以通过拥有在服务器中的函数库提升概念上的层次。

发表评论