MySql教程

我的MYSQL入门(三 mysql)SQL代码

本文主要是介绍我的MYSQL入门(三 mysql)SQL代码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

关系数据库标准语言SQL

  • 数据定义
    • 语法
    • 使用数据库
    • 删除数据库
    • 定义基本表
      • 创建表时需要搞清楚的问题
    • 基本表的修改
    • 索引
  • 数据查询
    • 基本语法
    • 子句功能
    • 单表查询
      • 投影
      • 选择
      • 比较大小
      • 确定范围
      • 确定集合
      • 字符串匹配
  • 数据更新
    • 数据的插入
      • 插入元组
      • 插入子查询结果
    • 数据的修改
      • 修改某元组的值
      • 修改多个元组的值
      • 带子查询的修改语句
    • 数据的删除
      • 删除某一个元组的值
      • 删除多个元组的值
      • 带子查询的删除语句

数据定义

语法

CREATE DATABASE <database_name>
例:CREATE DATABASE student

使用数据库

use <database_name>
例:use student

删除数据库

drop database <database_name>
例:drop database student

定义基本表

CREATE TABLE <表名>
(<列名> <数据类型> [ <列级完整性约束条件> ]
[,<列名> <数据类型> [ <列级完整性约束条件>] ] …
[,<表级完整性约束条件> ] );
DROP TABLE <表名>;

创建表时需要搞清楚的问题

–表名是什么?
–此表包括那些列?
–各列名是什么?
–各列的长度和数据类型是什么?
–列是否允许取空值?
–列是否取唯一值? –哪些列组成表的主键?
–外键及被参照的关系是什么?

基本表的修改

– <表名>:要修改的基本表
– ADD子句:增加新列和新的完整性约束条件
– DROP子句:删除指定的完整性约束条件
– ALTER COLUMN子句:用于修改列名和数据类型

索引

语句格式
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON
<表名>(<列名>[<次序>][,<列名>[<次序>] ]…)

• DROP INDEX <索引名>
– 删除索引时,系统会从数据字典中删去有关该索引的描述
• [例] 删除Student表的Stusname索引。
– DROP INDEX Student.Stusname

数据查询

基本语法

SELECT [ALL|DISTINCT]〈目标列表达式〉[,〈目标列表达式>] …
FROM 〈表名或视图名〉[,〈表名或视图名〉] …
[WHERE <条件表达式>]
[GROUP BY 〈列名〉[,〈列名〉]…
[HAVING <内部函数表达式>] ]
[ORDER BY 〈列名〉 [ASC│DESC] [,〈列名〉[ASC│DESC]]…]

子句功能

– SELECT子句与FROM子句是必选子句
– SELECT ---- 列出查询的结果
– FROM ---- 指明所访问的对象
– WHERE ---- 指定查询的条件
– GROUP BY ---- 将查询结果按指定字段的取值分组
– HAVING ----筛选出满足指定条件的组
– ORDER BY ---- 按指定的字段的值,以升序或降序排列查询结果

单表查询

投影

SELECT <目标列表达式> FROM <表名或视图名>
目标表达式可以是:属性名、算术表达式、字符串常量、函数等

选择

在这里插入图片描述

比较大小

在WHERE子句的<比较条件>中使用比较运算符
– =,>,<,>=,<=,!= 或 <>,!>,!<
– 逻辑运算符NOT+比较运算符

确定范围

• 使用谓词 BETWEEN … AND …
NOT BETWEEN … AND …

确定集合

使用谓词IN <值表>,NOT IN <值表>
– <值表>:用逗号分隔的一组取值

字符串匹配

• [NOT] LIKE ‘<匹配串>’ [ESCAPE ‘ <换码字符>’]
– <匹配串>:指定匹配模板,可以是固定字符串或含通配符的字符串
– 当匹配模板为固定字符串时,可以用 = 运算符取代 LIKE 谓词,用 !=
或 < >运算符取代 NOT LIKE 谓词
– 通配符
• % (百分号) 代表任意长度(长度可以为0)的字符串
• _ (下横线) 代表任意单个字符

数据更新

数据的插入

插入元组

• 语句格式
INSERT
INTO <表名> [(<属性列1>[,<属性列2 >…)]
VALUES (<常量1> [,<常量2>] … )
• 功能
将新的元组插入到指定表

插入子查询结果

•语句格式
INSERT INTO <表名> [(<属性列1>[,<属性列2 >…)]
子查询
• 功能
–将子查询结果插入指定表中
• 注意
–子查询的结果必须包含和insert的字段列表一样多的字段,并且数据类型兼容

数据的修改

修改某元组的值

修改多个元组的值

带子查询的修改语句

• 语句格式
UPDATE <表名>
SET <列名>=<表达式>[,<列名>=<表达式>]…
[WHERE <条件>];
– SET子句
• 指定修改方式、要修改的列、修改后取值
– WHERE子句
• 指定要修改的元组,缺省表示要修改表中的所有元组
• 功能
–修改指定表中满足WHERE子句条件的元组

数据的删除

删除某一个元组的值

删除多个元组的值

带子查询的删除语句

• 定义
DELETE
FROM <表名> [WHERE <条件>];
– WHERE子句
• 指定要删除的元组,缺省表示要删除表中的所有元组
• 功能
– 删除指定表中满足WHERE子句条件的元组

这篇关于我的MYSQL入门(三 mysql)SQL代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!