标签:key 引擎 value char auto set text order drop
外键,为某个表的一列,包含另一个表的主键值。
使用联结可以用多个表查询信息。
使用完全限定列名,防止出现二义性。
SELECT vend_name, prod_name, prod_price
FROM vendors, products
WHERE vendors.venid = products.venid
ORDER BY vend_name, prod_name;
SELECT vend_name, prod_name, prod_price
FROM vendors INNER JOIN products
ON vendors.venid = products.venid
ORDER BY vend_name, prod_name;
//两个查询语句效果一样
作用:缩短SQL语句,允许在单条SELECT语句中多次使用相同的表。
SELECT cust_name, cust_contact
FROM customers AS c, oders AS o, orderitems AS oi
WHERE c.cust_id = o.cust_id
AND oi.order_num = o.order_num
AND prod_id = 'TNT2';
自联结,自然联结,外部联结
联结包含了那些在相关表中没有关联行的行,这种联结称为外部联结。
SELECT customers.cust_id, orders.order_num
FROM customers LEFT OUTER JOIN orders
ON customers.cust_id = orders.cust_id;
有两种基本情况,需要使用组合查询:
SELECT vend_id, prod_id, prod_price
FROM products
WHERE prod_price <= 5
UNION
SELECT vend_id,prod_id, prod_price
FROM products
WHERE vend_id IN (1001,1002);
SELECT vend_id, prod_id, prod_price
FROM products
WHERE prod_price <= 5
OR vend_id IN (1001,1002);
MyISAM数据引擎支持全文本搜索,InnoDB不支持全文本搜索
使用两个函数Match()和Against()执行全文本搜索,Match()指定被搜索的列,Against()指定要使用的搜索表达式。
SELECT note_text
FROM productnotes
WHERE Match(note_text) Against('rabbit')
//会把note_text列匹配rabbit的文本打出来
INSERT INTO table1(,,,) VALUES(,,,);
没有值用NULL。
插入多条,一个()一条
INSERT INTO table1 VALUES(,,,),(,,,);
将SELECT语句的结果插入表中,由一条INSERT语句和一条SELECT语句组成。
INSERT INTO customers(cust_id, cust_contact,···)
SELECT cust_id,cust_contact,···
FROM custnew;
UPDATE,更新表中特定行或表中所有行
UPDATE customers
SET cust_email = 'elmer@fudd.com'
WHERE cust_id = 10005;
如果UPDATE更新多行,有一行出现错误,则整个UPDATE操作被取消。
DELETE,删除表中特定行或表中所有行
TRUNCATE TABLE删除所有行,速度更快
CREATE TABLE创建表,PRIMARY KEY设置主键,ENGINE设置数据引擎。
CREATE TABLE customers
(
cust_id int NOT NULL AUTO_INCREMENT,
cust_name char(50) NOT NULL,
PRIMARY KEY (cust_id)
)ENGINE=InnoDB;
可以创建多个列组成的主键,以逗号分隔 PRIMARY KEY(cust_id, cust_name)
AUTO_INCREMENT,自动增量
DEFAULT,设置默认值
InnoDB是一个可靠的事务处理引擎,不支持全文本搜索;MEMORY功能等同于MyISAM,数据存储在内存,速度快,适合临时表;MyISAM是一个性能极高的引擎,支持全文本搜索,不支持事务处理。
ALTER TABLE更新表
ALTER TABLE vendors
ADD vend_phone char(20);
ALTER TABLE vendors
DROP COLUMN vend_phone;
最常用是用来定义外键
ALTER TABLE orderitems
ADD CONSTRANT fk_orderitems_orders
FOREIGH KEY (order_num) REFERENCES order (order_num);
删除表,DROP TABLE;
重命名,RENAME TABLE;
标签:key 引擎 value char auto set text order drop
原文地址:https://www.cnblogs.com/chenshaowei/p/12405547.html