用UNION组合多个select查询,默认会去掉重复行;用UNION ALL则会保留重复行
MyISAM引擎支持全文本查询,InnoDB不支持全文本查询
指定全文索引FULLTEXT(some_column),不要在导入数据时使用FULLTEXT。在所有数据都导入完毕后,再添加FULLTEXT
全文搜索时,Match指定列,Against指定搜索表达式,默认不区分大小写:select node_text from products WHERE Match(note_text) Against('rabbit');
指定IN BOOLEAN MODE可以进行更细致的全文搜索,但性能较差
如果数据检索较为重要,可以指定INSERT LOW_PRIORITY INTO降低插入操作的优先级
将select结果写入另一张表:INSERT INTO table_a(column_a, column_b) SELECT column_a, column_b from table_b;
指定更新数据在某些行出错的时候也继续执行:UPDATE IGNORE sometable …
删除表中所有行 TRUNCATE TABLE sometable;
建表:
CREATE TABLE IF NOT EXISTS customers (
id int NOT NULL AUTO_INCREMENT,
name char(50) NOT NULL DEFAULT 'test_name',
PRIMARY KEY (id)
) ENGINE=InnoDB;
每个表只允许一个AUTO_INCREMENT列,并且它必须被索引(成为主键)
几个引擎:
InnoDB 支持事务处理,不支持全文本搜索
MyISAM 不支持事务处理,支持全文本搜索
MEMORY 功能等同于MyISAM,但数据存在内存中(不在磁盘中),速度很快(特别适合临时表)
定义外键:ALTER TABLE sometable_a ADD CONSTRAINT sometable_a_column FOREIGN KEY (vend_id) REFERENCES vendors (vend_id);
重命名表 RENAME TABLE table_a TO table_b;
视图只包含使用时动态检索数据的查询,视图不能索引,也不能有关联的触发器或默认值
查看视图:SHOW CREATE VIEW someview;
建立视图:CREATE VIEW someview AS SELECT column_a,column_b FROM sometable;
视图一般用于检索,而不用于更新或删除
没有评论:
发表评论