本篇文章对sql语句进行介绍
这里对MySql基本数据类型和Oracle基本数据类型的介绍可能不是很全面
常用基础语句
1 | 1、插入数据 |
常用查询条件
查询条件 | 关键字 |
---|---|
比较 | =,>,<,>=,<=,!=,<> |
确定范围 | BETWEEN AND, NOT BETWEEN AND |
确定集合 | IN, NOT IN |
字符匹配 | LIKE, NOT LIKE |
空值 | IS NULL, IS NOT NULL |
多重条件 | AND, OR |
1.比较一般是WHERE关键字后面的条件
2.确定范围在两者之间或两者之外
3.确定集合IN是在集合内,NOT IN在集合外
4.LIKE匹配有该字符的,NOT LIKE相反
5.空值,判断是空非空
6.多重条件AND并且,OR或需要条件全部成立的用AND,需要条件成立一部分的用OR
多表查询
1 | 1.简单链接 |
Where 与 having的区别
Where优先级较高,比聚合函数先执行,所以后面不能以聚合函数作为判断条件
Having优先级较低,比聚合函数后执行,可以以聚合函数作为筛选条件,但必须和分组group by同时使用
DDL修改表语句
1 | 1:删除列 |
MySql基本数据类型
数据类型 | 描述 | 字节 | 推荐使用 |
---|---|---|---|
SMALLINT | 整数,-32000到32000 | 2 | 存储相对比较小的整数,比如年龄 |
INT | 从-2000000000到2000000000 | 4 | 存储中等整数,比如距离 |
BIGINT | INT不能描述的较大整数 | 8 | 存储超大整数,比如科学数据 |
FLOAT | 单精度浮点 | 4 | 存储小数数据,例如测量、温度 |
DOUBLE | 双精度浮点 | 8 | 需要双精度存储的数据,例如科学计数 |
DECIMAL | 用户自定义精度的浮点类型 | 变量,取决于精度与长度 | 以非常高的精度保存小数数据,比如货币数额、科学计数 |
CHAR | 固定长度的字符串 | 特定字符串长度(高达255个字符) | 存储通常包含预定义字符串的变量,例如定期航线、邮编等 |
VARCHAR | 具有最大限度的可变长字符串 | 变量,1+实际字符串长度 | 存储不同长度的字符串,比如名字、密码、短文等 |
TEXT | 没有最大长度限制的可变长度字符串、大文本数据类型 | 2+实际字符串长度 | 例如:新闻故事、产品描述等 |
BLOB | 二进制字符串 | 2+实际字符串长度 | 存储二进制数据,例如图片、文件 |
DATE | 以yyyy-mm-dd格式的日期 | 3 | 存储日期 |
TIME | 以hh:mm:ss格式的时间 | 3 | 存储时间或时间间隔 |
DATETIME | 以yyyy-mm-dd hh:mm:ss格式存储时间 | 8 | 存储包含日期和时间的数据 |
Oracle基本数据类型
数据类型 | 参数 | 描述 |
---|---|---|
Char(n) | n=1 to 2000字节 | 定长字符串,n字节长,如果不指定长度,缺省 为1个字节长(一个汉字为2字节) |
Varchar2(n) | n=1to4000字节 | 可变长的字符串,具体定义时指明最大长度n,这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。如果数据长度没有达到最大值n,Oracle 8i会 根据数据大小自动调节字段长度,如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。可做索引的最大长度3209 |
number(m,n) | m=1 to 38 n=-84 to 127 | 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。如:number(5,2),则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。如:number(5,2),但在一行数据中的这个字段 输入575.316,则真正保存到字段中的数值是575.32。如:number(3,0),输入575.316,真正保存的数据是575。 |
Date | 无 | 从公元前4712年1月1日到公元4712年12月31日的所有合法日期,Oracle 8i其实在内部是按7个字节来保存日期 数据,在定义中还包括小时、分、秒。缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。 |
long | 无 | 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜 索就要用varchar2类型。long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 |
Raw(n) | N=1 TO 2000 | 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存 较小的图形文件或带格式的文本文件,如 Miceosoft Word文档。raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代 |
long raw | 无 | 可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 |
blob clob nclob | 无 | 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。可以执行读取、存储、写入等特殊操作。 |
数据库查询练习
1.已知:员工信息表,表名为:employee
E_Name | E_Sex | E_Age | E_Address |
---|---|---|---|
张三 | 女 | 19 | 北京 |
李四 | 男 | 20 | 上海 |
王五 | 女 | 25 | 广州 |
薛六 | 女 | 20 | 北京 |
王五 | 男 | 22 | 北京 |
赵七 | 男 | 28 | 上海 |
张四 | 女 | 23 | 北京 |
1 | (1). 写出sql语句,查询所有年龄大于20岁的员工(2分) |
数据库强化练习
一、简单查询
1 | 1、列出全部学生的信息。 |
查询练习
1 | Student(Sid,Sname,Sage,Ssex) 学生表 |
练习内容:
1 | 1.查询“某1”课程比“某2”课程成绩高的所有学生的学号; |