
作者: Linux超
原文链接:http://cn.hk.uy/xBV
1.约束
CREATE TABLE TABLENAME
(
COLUMN_NAME1 DATA_TYPE(SIZE) CONSTRAINT_NAME,
COLUMN_NAME2 DATA_TYPE(SIZE) CONSTRAINT_NAME,
COLUMN_NAME3 DATA_TYPE(SIZE) CONSTRAINT_NAME
);
NOT NULL -- 指示某列不能存储NULL值
UNIQUE -- 保证某列的每行必须有唯一值
PRIMARY KEY -- 前2个约束的结合,每个表只能有一个PRIMARY KEY 约束
CHECK -- 保证列中的值符合指定的条件
DEFAULT -- 规定没有给列赋值时的默认值
实例1:
1 CREATE TABLE TABLENAME
2 (
3 ID INT NOT NULL AUTO_INCREMENT,
4 NAME VARCHAR(255) UNIQUE ,
5 AGE INT ,
6 CITY VARCHAR(255) DEFAULT 'CHINA',
7 PRIMARY KEY (ID),
8 CHECK (AGE > 18)
9 );
实例2:
1 CREATE TABLE TABLENAME
2 (
3 ID INT NOT NULL AUTO_INCREMENT,-- 自动填充此列 从1开始
4 NAME VARCHAR(255) UNIQUE ,
5 AGE INT ,
6 CITY VARCHAR(255) DEFAULT 'CHINA',
7 PRIMARY KEY (ID),
8 CHECK (AGE > 18)
9 CONSTRAINT 别名 约束名 (列1,列2,..)
10 );
CONSTRAINT UNIQUE_NAME UNIQUE (AGE,CITY)
CONSTRAINT CHECK_NAME CHECK (AGE>18 AND CITY = 'CHINA')
INSERT INTO TABLENAME VALUES(1,'XUECHAO',22,'CH');
INSERT INTO TABLENAME VALUES(2,'XUECHAO',15,'CH');
2.ALTER TABLE
实例1:
ALTER TABLE TABLENAME
ADD UNIQUE (ID);
或
ALTER TABLE TABLENAME
ADD CONSTRAINT UN_NAME UNIQUE (ID , NAME);
1 ALTER TABLE TABLENAME ADD COLUMN SCORE INT;-- 新增字段SCORE
2
3 ALTER TABLE TABLENAME MODIFY SCORE VARCHAR(255); -- 修改字段数据类型
4
5 ALTER TABLE TABLENAME DROP COLUMN SCORE; -- 删除字段
实例2:
3.VIEW
1.创建视图:
CREATE VIEW VIEW_NAME AS
SELECTE COLUMN_NAME FROM TABLE_NAME
WHERE CONDITION;
实例1:
1 CREATE VIEW INTERNET AS
2 SELECT NAME,URL FROM WEBSITES
3 WHERE ALEXA < 50;
实例2:
SELECT * FROM INTERNET;
SELECT * FROM INTERNET
WHERE NAME LIKE '%O%'; -- 查询网站名字包含字母o的数据
2.更新视图
1 CREATE OR REPLACE VIEW view_name AS
2 SELECT column_name(s)
3 FROM table_name
4 WHERE condition;
CREATE OR REPLACE VIEW INTERNET AS
SELECT NAME ,URL,ALEXA FROM WEBSITES
WHERE ALEXA < 50;
3.删除视图
DROP VIEW INTERNET;
使用视图,可以定制用户数据,聚焦特定的数据。
在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,
采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没
有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视
图,以后他在查询数据时,只需select * from view_caigou 就可以啦。
显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能
会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我
们只需要select * from view1就可以啦,这样很方便。
将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集
合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改
和删除,可以保证数据的安全性。
多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务
情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些
数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字,
将各分公司的数据合并为一个视图。
推荐阅读:
大家好,我是"故里学Java"公号作者,你可以叫我"故里"。
一直坚信技术能改变生活,愿保持初心,加油技术人!

文章转载自故里学Java,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。







