LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行
sql的语句:Addnew(),putcollect(), updata()加快数据
删除一列,ALTER TABLE tb_test DROP COLUMN Gender;
TRUNCATE TABLE 的指令。在这个指令之下,表格中的资料会完全消失 ,可是表格本身会继续存在。
Select
SELECT "栏位" FROM "表格名";
Distinct (防重复)
SELECT DISTINCT "栏位"
FROM "表格名";
Where
SELECT "栏位"
FROM "表格名"
WHERE "条件";
And/Or
SELECT "栏位"
FROM "表格名"
WHERE "简单条件"
{[AND|OR] "简单条件"}+;
In
SELECT "栏位"
FROM "表格名"
WHERE "栏位" IN ('值1', '值2', ...);
Between
SELECT "栏位"
FROM "表格名"
WHERE "栏位" BETWEEN '值1' AND '值2';
Like
SELECT "栏位"
FROM "表格名"
WHERE "栏位" LIKE {模式};
Order By
SELECT "栏位"
FROM "表格名"
[WHERE "条件"]
ORDER BY "栏位" [ASC, DESC];
Count
SELECT COUNT("栏位")
FROM "表格名";
Group By
SELECT "栏位1", SUM("栏位2")
FROM "表格名"
GROUP BY "栏位1";
Having
SELECT "栏位1", SUM("栏位2")
FROM "表格名"
GROUP BY "栏位1"
HAVING (栏位);
Create Table
CREATE TABLE "表格名"
("栏位 1" "栏位 1 资料种类",
"栏位 2" "栏位 2 资料种类",
... );
Drop Table
DROP TABLE "表格名";
Truncate Table
TRUNCATE TABLE "表格名";
Insert Into
INSERT INTO "表格名" ("栏位1", "栏位2", ...)
VALUES ("值1", "值2", ...);
Update
UPDATE "表格名"
SET "栏位1" = [新值]
WHERE "条件";
Delete From
DELETE FROM "表格名"
WHERE "条件";
利用sql存储照片的两种方法:
1。转为二进制存储 存的是varchar类型的路径 --------程序里读路径 加载
2。存相对路径,到时候读路径 存的是二进制的数据,------先转成图 处,用临时接收,再贴到控件上,
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。(UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。)
SELECT INTO用于把数据插入新的表格:SELECT * INTO new_table_name [IN externaldatabase(外部链接)] FROM old_tablename
约束:Constraints(在初始化定义表或更改(alter...ADD...DROP..)时使用)
NOT NULL 约束强制列不接受 NULL 值。
UNIQUE 约束唯一标识数据库表中的每条记录。UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 拥有自动定义的 UNIQUE 约束。每个表可以有 多个,UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
PRIMARY KEY 主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键。
FOREIGN KEY 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。用于预防破坏表之间连接的动作。也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一
CHECK 限制列中的值的范围。单个列定义 CHECK 约束,那么该列只允许特定的值。一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
DEFAULT 用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。
索引:CREATE INDEX index_name ON table_name (column_name,..DESC)
TRUNCATE TABLE 命令(仅仅删除表格中的数据):TRUNCATE TABLE 表名称
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。:
在表中添加列:ALTER TABLE table_name ADD column_name datatype
删除表中的列:ALTER TABLE table_name DROP COLUMN column_name(某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)。)
改变表中列的数据类型:ALTER TABLE table_name ALTER COLUMN column_name datatype
自动增长:Auto-increment 会在新记录插入表中时生成一个唯一的数字。我们通常希望在每次插入新记录时,自动地创建主键字段的值。我们可以在表中创建一个 auto-increment 字段。
CREATE VIEW :CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
NULL 值:NULL 值的处理方式与其他值不同。NULL 用作未知的或不适用的值的占位符。注释:无法比较 NULL 和 0;它们是不等价的。不能使用<等比较符号。使用 IS NULL 来查找 NULL 值 。 IS NOT NULL 操作符 ISNULL() 函数用于规定如何处理 NULL 值。NVL(), IFNULL() 和 COALESCE() 函数也可以达到相同的结果。
HAVING 子句:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数(AVG,COUNT,FIRST,LAST,MAX,MIN,SUM等函数,Aggregate 函数的操作面向一系列的值,并返回一个单一的 值。)一起使用。
Scalar 函数的操作面向某个单一的值,并返回基于输入值的一个单一的值。例如:UCASE(转换为大写),ICASE(转换成小写),MID(提取字符SELECT MID(column_name,start[,length]) FROM table_name),LEN(文本的长度),ROUND(把数值字段舍入为指定的小数位数SELECT ROUND(column_name,decimals) FROM table_name),NOW(返回当前的日期和时 间。),FORMAT(对字段的显示进行格式化。SELECT FORMAT(column_name,format) FROM table_name注意格式)。