日期:2014-05-16 浏览次数:21032 次
TRUNCATE TABLE tb_1;删除一张表 然后重新创建这张表
?
delect FROM tb_1 //一行一行的删掉每一行 这样速度就慢多了
?
下面是SQL程序员使用UPDATE 或者是delect时遵循的一些习惯
?
1.除非确实打算更新和删除每一行,否则绝对不要使用不带WHERE字句的UPDATE和delect
2.保证每个表都有主键,如果忘记这个内容了,那么就插入一个主键或者是修改一个主键,尽可能的像WHERE子句那样使用它,可以指定各主键,多个值或者值的范围
3.在对UPDATE和delect语句使用WHERE字句前,应该先用SELECT进行测试,保证它过滤的是正确的记录,以防止编写的WHERE字句是不正确的
4.使用强制实施引用完整性的数据库,这样SQL将不允许删具有与其他表关联的数据的行的
?
mysql是没有 撤销按钮的,应该非常小心的使用UPDATE和delect的语句的,否则你会发现更新和删除了错误的数据,那么就会引起很大的麻烦了
?
?
创建表
?
CREATE TABLE customersx?
(
?cust_id ? ? ? INT ? ? ? ? NOT NULL AUTO_INCREMENT,
?cust_name ? ? CHAR(50) ? ?NOT NULL,
?cust_address ?CHAR(50) ? ?NULL,
?
?PRIMARY KEY (cust_id)
?
)ENGINE = INNODB
?
CREATE TABLE orders
(
? order_num ? INT ? ? ? NOT NULL AUTO_INCREMENT ,
? order_date DATETIME ? NOT NULL ,
? cust_id ? ?INT ? ? ? ?NOT NULL DEFAULT 1,
? PRIMARY KEY (order_num)
)
?
?
ALTER TABLE orders?
ADD
vernd_phone CHAR(50) ?
?
ALTER TABLE orders
DROP
vernd_phone ;
?
//定义外键
ALTER TABLE orders
ADD CONSTRAINT fk_orderitems_orders FOREIGN KEY (id)
REFERENCES produces(id)
?
小心使用ALTER TABLE ,使用ALTER TABLE要极为小心,应该在进行改动前做一个完整的备份,模式和数据的备份,数据库表的更改是不能撤销的
如果增加了不需要的列,可能不能删除它们,类似的,如果删除了不应该删除的列,可能丢失改列中的所有的数据
?
DROP TABLE orders ; //删除表,让表不存在
?
RENAME TABLE xxx TO yyy //更改表,让表从xxx变成yyy