3. 基本的SQL语句

1.SQL分类

SQL语言在功能上主要分为如下3大类:

1)DDL(Data Definition Languages、数据定义语言):这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。

  • 主要的语句关键字包括CREATEDROPALTER等。

2)DML(Data Manipulation Language、数据操作语言):用于添加、删除、更新和查询数据库记录,并检查数据完整性。

  • 主要的语句关键字包括INSERTDELETEUPDATESELECT等。

3)DCL(Data Control Language、数据控制语言):用于定义数据库、表、字段、用户的访问权限和安全级别。

  • 主要的语句关键字包括GRANTREVOKECOMMITROLLBACKSAVEPOINT等。

因为查询语句使用的非常的频繁,所以很多人把查询语句单拎出来一类:DQL(数据查询语言)。
还有单独将COMMITROLLBACK 取出来称为TCL (Transaction Control Language,事务控制语言)。

2.SQL大小写规范

1)MySQL在Windows环境下是大小写不敏感的
2)MySQL 在 Linux 环境下是大小写敏感的
3)推荐书写方式:

  • 数据库名、表名、表别名、字段名、字段别名等都小写
  • SQL 关键字、函数名、绑定变量等都大写
  • 字符串型和日期时间类型的数据可以使用单引号(’ ')表示
  • 列的别名,尽量使用双引号(" "),而且不建议省略as

3.注释

1)可以使用如下格式的注释结构

  • 单行注释:#注释文字(MySQL特有的方式)
  • 单行注释:-- 注释文字(–后面必须包含一个空格。)
  • 多行注释:/* 注释文字 */

4.基本的SELECT语句

1)0 SELECT…
语法:

SELECT 1; #没有任何子句
SELECT 9/2; #没有任何子句

2)1 SELECT … FROM
语法:

SELECT   标识选择哪些列
FROM     标识从哪个表中选择

选择全部列:

SELECT *
FROM  表名 ;

选择指定列:

SELECT 字段1, 字段2
FROM   表名;

5.列的别名

1)在列名和别名之间加入关键字AS,别名使用双引号

SELECT last_name as "name"   #在学生表中将列名last_name改为name
FROM Student;

2)AS可以省略,别名紧跟列名

SELECT last_name "name" #在学生表中将列名last_name改为name
FROM Student;

6.去除重复行

1)默认情况下,查询会返回全部行,包括重复行,在SELECT语句中使用关键字DISTINCT去除重复行。

SELECT DISTINCT sno #在学生表中将重复的学号去除
FROM Student;

7.空值参与运算

1)所有运算符或列值遇到null值,运算的结果都为null。
2)空值不等于空字符串。
3)一个空字符串的长度是 0,而一个空值的长度是空。
4)空值是占用空间的。

8.着重号

1)如果表中的字段、表名等和保留字、数据库系统或常用方法冲突(相同),使用``(着重号)将字段、表明引用起来。
语法:

SELECT `name` #如果学生表中学生姓名字段为name,使用时可以将name用着重号引用起来
FROM Student;

9.显示表结构

1)使用DESCRIBE 或 DESC 命令,表示表结构。

DESCRIBE Student; #显示学生表结构
或
DESC Student; #显示学生表结构

其中,各个字段的含义分别解释如下:

  • Field:表示字段名称。
  • Type:表示字段类型,这里 barcode、goodsname 是文本型的,price 是整数类型的。
  • Null:表示该列是否可以存储NULL值。
  • Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。
  • Default:表示该列是否有默认值,如果有,那么值是多少。
  • Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。

10.使用WHERE过滤数据

1)使用WHERE 子句,将不满足条件的行过滤掉。
2)WHERE子句紧随 FROM子句
语法:

SELECT 字段1,字段2
FROM 表名
WHERE 过滤条件;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值