Mysql数据库学习(2)DDL

今天学习了数据库中DDL和DQL语句的使用,总的来说还是学到很多以前没学到的东西。以前太依赖网上的那种可视化的建表工具,不用写语句,但是这几天写了很多的sql语句,对于一些操作真的长进很多。其实在可视化的建表过程那是不规范的,每次多了字段都要去修改,但是Mysql实际上是拥有修改相关字段的语句的。针对表格中的字段,添加、删除、修改:

--添加字段 

ALTER TABLE customers ADD COLUMN phoneNumber varchar(11) UNIQUE

--修改字段: 

  ALTER TABLE customers MODIFY COLUMN phoneNumber varchar(11) UNIQUE

 被添加的字段如果没有约束,那么添加的新字段为默认值NULL

--删除字段:

ALTER TABLE customers DROP COLUMN phoneNum

-- 修改数据表名
ALTER TABLE customer RENAME TO customers

-- 修改字段名
ALTER TABLE customers CHANGE phoneNumber phoneNum varchar(11)

-- 删除主键约束
ALTER TABLE CUSTOMERS DROP PRIMARY KEY
-- 添加约束
ALTER TABLE test ADD CONSTRAINT PRIMARY KEY(tid)
ALTER TABLE customers ADD CONSTRAINT UNIQUE (phoneNum)

关于Mysql数据库中的引擎:MyISAM :  查询速度是最快的,不支持外键,不支持事务INNODB: 支持外键,支持事务数据库建立的默认引擎是MYISAM针对大量查询,就应该使用MYISAM,如果要支持事务或外键应该使用INNODB。

外键的使用:

FOREIGN KEY : 外键的关键字
FOREIGN KEY(uid) 当前表中声明外键的字段
REFERENCES: 关键字,表示关联
REFERENCES users(uid) 关联到目标数据表(主表)的目标字段
ON UPDATE CASCADE: 建立一个update验证机制: 当附表中发生添加或修改操作时, 会去主表中检查是否有对应的数据
ON DELETE CASCADE 建立一个delete验证机制: 当主表删除一条记录的时候, 附表相关记录会自动删除。

猜你喜欢

转载自blog.csdn.net/formydream111/article/details/82753164