常用数据库操作
create database 数据库名; //新建数据库
drop database 库名; //删除数据库
use 数据库名; //打开数据库
source d:/mysql.sql; //导入.sql文件命令(例D:/mysql.sql):
show databases; //显示数据库列表
定义基本表 CREATE TABLE
CREATE TABLE 表名
(列名 1 数据类型 列级完整性约束条件, /*如果没有列级完整性约束条件,可以不写*/
... ...
列名 n 数据类型 列级完整性约束条件,
);
/* 复制表结构 */
CREATE TABLE 副本 LIKE 原表;
/* 复制表 */
CREATE TABLE 副本 AS (SELECT * FROM 原表);
-
数据类型
数据类型 介绍 char(n) 长度为 n 的字符串型 varchar(n) 最大长度为 n 的变长字符串型 number(n) 长度为 n 的数字类型 int 整形 (4B) smallint 短整型 (2B) blgint 长整形 (8B) float 精度至少为 n 位的浮点数型 date 日期型,格式为 YYYY-MM-DD time 时间型,格式为 HH-MM-SS -
列级完整约束条件
约束条件 约束条件介绍 PRIMARY KEY 主码,当表中只有一个主码时,可以直接在对应的属性标注 NOT NULL 非空,表示该列不能取空值 UNIQUE 唯一性,表示该列属性只能取唯一值 CHECK 检查,检查该列是否满足某个条件,如 check(某属性>20)
修改&删除基本表 ALTER TABLE
-
增加新的属性列
ALTER TABLE 表名 ADD 新列名 数据类型 完整约束性条件;
-
增加列完整性约束条件
ALTER TABLE 表名 ADD 列级完整性约束条件;
-
删除列
ALTER TABLE 表名 DROP 列名;
-
删除列的完整性约束条件
ALTER TABLE 表名 DROP CONSTRAINT 完整性约束条件;
-
修改列
ALTER TABLE 表名 ALTER COLUMN 列名 数据类型;
-
删除基本表
DROP TABLE 表名;
SELECT 语句
SELECT 一般格式
SELECT [DISTINCT] 目标列表达式 /*要显示列的属性*/
FROM 表名/视图名 /*要查询的对象*/
WHERE 条件表达式 /*查询条件*/
GROUP BY 列名 HAVING 条件表达式 /*插叙结果分组*/
ORDER BY 列名 次序; /*最终查询结果分组*/
SELECT 目标表达式
/* 查询指定列 */
SELECT 列名1,列名2,……,列名n FROM
/* 查询全部列 */
SELECT * FROM 表名;
/* 查询计算后的值 */
SELECT 表达式 FROM 表名; /*表达式可以是:列名,算术表达式,聚合函数等*/
/* 改变查询结果的列名(列别名) */
SELECT 列名 as 列别名 FROM 表名;
/* 去除查询结果中的重复行 */
SELECT DISTINCT 列名 FROM 表名;
常见聚合函数
函数名 | 说明 |
---|---|
COUNT() | 求组中的项数,返回int 型整数 |
MAX() | 求最大项 |
MIN() | 求最小项 |
SUM() | 返回表达式中所有值之和 |
AVG() | 求组中值的平均值 |
注:当使用聚合函数式,都跳过空值,只处理非空值;聚合函数只能由于SELECT
语句和GROUP BY
中的HAVING
字句。
WHERE 条件表达式
1. 比较大小
常用比较运算符:= < > <= >= !=(或<>) !> !<
。
常用逻辑预算符:逻辑与:AND(&&) 逻辑或:OR(||) 逻辑非:NOT(!) 逻辑异或:XOR
。
2. 确定集合
WHERE 列名 IN (子查询 或 表达式1,……,表达式n);
3. 字符串匹配
通配符:用来求一些有特殊条件的字符串
%
:表示任意长度的字符串。 _
:表示单个字符(注:在 ASCII 码表中,一个汉字表示两个字符)。
转义字符:字符串中紧跟在转义字符%
或_
不在具有原本含义;一般采用\
,例如:\%
。
INSERT | UPDATE | DELETE 语句
/* 插入数据 */
INSERT INTO 表名 (列名1,列名2,……,列名n) VALUES (常量1,常量2,……,常量n);
/* 修改数据 */
UPDATE 表名 SET 列名1=表达式1,列名2=表达式2,……,列名n=列名n WHERE 条件表达式;
/* 删除数据*/
DELETE FROM 表名 WHERE 条件表达式;
VIEW 视图
/* 定义视图 */
CREATE VIEW 视图名 (列名1,列名2,……,列名n) /*若省略列名,则有子查询的目标字段组成*/
AS SELECT子查询
WITH CHECK OPTION; /*若添加该句,则表示对视图进行增删改时要满足子查询中的条件表达式*/
/* 删除视图 */
DROP VIEW 视图名 CASCADE; /*若使用CASCADE,z则将把该视图导出的视图一起删除*/
网友评论