日期:2014-05-16  浏览次数:20892 次

mysql 删除表 创建表 等操作

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