数据表存放位置:SHOW variables LIKE '%datadir%';
创建表(使用MySQL语句)
CREATE TABLE test
(
id int NOT NULL AUTO_INCREMENT,
Name char(50) NOT NULL ,
City char(20) NULL ,
Phone char(20) NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
更新表
ALTER TABLE test
删除表:DROP TABLE 表名;
重命名表:RENAME TABLE 原表名 TO 新表名;
%——————————————————————————————————————————————————————————————%
插入数据:
INSERT INTO 表名(列的列表)
VALUES(数据列表);
插入检索出的数据:
INSERT INTO 表名(列的列表)
SELECT 列的列表 FROM 另一表名;
更新数据:
UPDATE 表名
SET 列名 = 新的数据值
WHERE 需要更新的行条件;
删除数据:
若要删除某个列的某些或者全部数据,请使用UPDATE将要删除的数据置为NULL。
若要删除某些行或者所有行的全部数据:
DELETE FROM 表名
WHERE 要删除的行条件;
同样的,若不使用WHERE,将删除全部行,但不会删除表本身。若要更快的完成这一操作,可以使用TRUNCATE TABLE语句。
%————————————————————————————————————————————————————————%
使用视图
视图的层级和表相同,而区别是其中并不包含数据,而是包含了一个复杂联结的查询,可以认为是一个虚拟表。它起到了如下作用:
简而言之,视图的地位就像是数据库语言中的函数。
例如:
SELECT (列1),(列2),(列3) FROM (表1),(表2) WHERE 表1.主键=表2.外键;
这是联结章节常用的联结查询语句的一部分,经过视图的封装,它可以变成:
SELECT (列1),(列2),(列3) FROM 视图名;
而原始的两个表名,以及他们之间的联结关系都被隐藏。原语句中出现的其他子句将照常出现。
视图可以用于格式化检索出的数据,只要将SELECT Concat的结果定义为一个视图;
视图可以用于过滤数据,只需要封装一个特定的WHERE子句即可;
视图还可以用于简化计算字段的使用,而隐藏计算字段的具体原理,同样只需要封装一个包含计算字段的SELECT语句。
通常,视图仅用于查询,而不进行更新。更新一个视图意味着更新其基表,而如果视图的原语句中包含信息的丢失(如分组,聚集函数,联结等),将导致无法通过更新的视图信息确定基表如何更新,这样的视图更新是非法的。故而通常不对视图使用UPDATE等语句,也不用其进行此类封装。