2023年6月21日发(作者:)
sql⼀对多获得⼀条数据_结构化查询语⾔SQL学习⼊门⼀、SQL简介结构化查询语⾔(Structured QueryLanguage)简称SQL,是⼀种特殊⽬的的编程语⾔,是⼀种数据库查询和程序设计语⾔,⽤于存取数据以及查询、更新和管理关系数据库系统。1974年由Boyce和Chamberlin提出,并⾸先在IBM公司研制的关系数据库系统SystemR上实现。1980年10⽉,经美国国家标准局(ANSI)的数据库委员会X3H2批准,将SQL作为关系数据库语⾔的美国标准,同年公布了标准SQL,此后不久,国际标准化组织(ISO)也作出了同样的决定。注:除了标准SQL外,⼤部分关系型数据库都有⾃⼰的私有扩展。⼆、SQL功能SQL功能的体现主要在于SQL语⾔,SQL按功能类型分以下6种语⾔,其中1-4条使⽤最多。1、数据查询语⾔(DQL:Data Query Language):其语句,也称为“数据检索语句”,⽤以从表中获得数据,确定数据怎样在应⽤程序给出。保留字SELECT是DQL(也是所有SQL)⽤得最多的动词,其他DQL常⽤的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句⼀起使⽤。2、数据操作语⾔(DML:Data Manipulation Language):其语句包括动词INSERT、UPDATE和DELETE。它们分别⽤于添加、修改和删除。3、数据控制语⾔(DCL):它的语句通过GRANT或REVOKE实现权限控制,确定单个⽤户和⽤户组对数据库对象的访问。某些RDBMS可⽤GRANT或REVOKE控制对表单个列的访问。4、数据定义语⾔(DDL):其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREAT TABLE 或 DROPTABLE);为表加⼊索引等。5、指针控制语⾔(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT⽤于对⼀个或多个表单独⾏的操作。6、事务控制语⾔(TCL):它的语句能确保被DML语句影响的表的所有⾏及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。三、SQL使⽤DDL:CREATE,ALTER和DROPCREATE(创建)CREATE DATABASE 数据库名;--创建数据库CREATE TABLE 表名称(列名1 数据类型(数据长度),列名2 数据类型(数据长度),列名3 数据类型(数据长度));--创建数据表数据类型描述integer(size)int(size)smallint(size)tinyint(size)decimal(size,d)numeric(size,d)容纳带有⼩数的数字。'size" 规定数字的最⼤位数。" d " 规定⼩数点容纳固定长度的字符串( 可容纳字母、数字以及特殊字符)在括号中规定字符串的长度。容纳可变长度的字符串( 可容纳字母、数字以及特殊字符)在括号中规定字符串的最⼤长度容纳⽇期。仅容纳整数。在括号内规定数字的最⼤位数。char(size)varchar(size)date(yyyymmdd)CREATE USER ⽤户名 IDENTIFIED BY 密码;--创建⽤户CREATE INDEX 索引名称 ON 表名称(列名称);--创建索引ALTER(修改)alter table 表名称 add 列名称 数据类型;--在某个表增加某个字段alter table 表名称 drop column 列名称;--删除某个表的某个字段alter table 表名称 alter column 列名称DROP(撤销)drop database 数据库名称;--删除数据库drop table 表名称;--删除表(表的结构、属性以及索引也会删除)DML:SELECT、INSERT、UPDATE和DELETESELECT(查询)SELECT 列名称 FROM 表名称;--查询某个表中某些列值SELECT * FROM 表名称;--查询某个表中所有列的数据INSERT(插⼊)INSERT INTO 表名称 (列1,列2,列3,)VALUES (值1,值2,值3,);--向某个表的某些字段插⼊数据,注意列名称要与值⼀⼀对应INSERT INTO 表名称 VALUES (值1,值2,值UPDATE(更新)UPDATE 表名称 SET 列名称=新值;--更新某个表的某列的值,实际⽣产使⽤中常与WHERE⼦句同⽤,筛选⼀条或多条数据进⾏修改update 表名称 set 列名称=REPLADELETE(删除)delete from 表名称;--删除某个表中数据,同样⽣产使⽤中常与WHERE⼦句同⽤,筛选⼀条或多条数据进⾏删除DCL:GRANT或REVOKEGRANT(授予)GRANT ON 表名[(列名)] TO ;GRANT ON FROM ;--授权REVOKE(回收)REVOKE ON FROM ;--收回权限DQL:WHERE,ORDER BY,GROUP BY和HAVINGWHERE(在某种情况下)WHERE⼦句常与“增删改查”语句搭配作筛选数据⽤,通过运算符对⽐某个字段以此作为条件筛选部分数据进⾏其他操作;可以理解为条件语句,满⾜条件的执⾏“增删改查”操作,不满⾜条件的不进⾏“增删改查”操作。常见运算符:运算符=<>><>=<=likebetween描述等于不等于⼤于⼩于⼤于等于⼩于等于相似于(模糊查询)某个范围内ORDER BY(排序)ORDER BY 关键字⽤于对结果集进⾏排序,ORDER BY DESCD倒序排列SELECT * FROM 表名称 ORDER BY 列名称;--查询表按某列进⾏排列SELECT * FROM 表名称 ORDER BY 列名称 DESC;--查询表按某列进⾏倒序排列GROUP BY(分组)GROUP BY 语句⽤于结合聚合函数,根据⼀个或多个列对结果集进⾏分组SELECT 列名称 FROM 表名称 GROUP BY 列名称;--查询某列所有不同值显⽰HAVING在 SQL 中增加 HAVING ⼦句原因是,WHERE 关键字⽆法与聚合函数⼀起使⽤。HAVING ⼦句可以让我们筛选分组后的各组数据。推荐书籍:《SQL基础教程》,想要深⼊学习的朋友有机会可以看看
2023年6月21日发(作者:)
sql⼀对多获得⼀条数据_结构化查询语⾔SQL学习⼊门⼀、SQL简介结构化查询语⾔(Structured QueryLanguage)简称SQL,是⼀种特殊⽬的的编程语⾔,是⼀种数据库查询和程序设计语⾔,⽤于存取数据以及查询、更新和管理关系数据库系统。1974年由Boyce和Chamberlin提出,并⾸先在IBM公司研制的关系数据库系统SystemR上实现。1980年10⽉,经美国国家标准局(ANSI)的数据库委员会X3H2批准,将SQL作为关系数据库语⾔的美国标准,同年公布了标准SQL,此后不久,国际标准化组织(ISO)也作出了同样的决定。注:除了标准SQL外,⼤部分关系型数据库都有⾃⼰的私有扩展。⼆、SQL功能SQL功能的体现主要在于SQL语⾔,SQL按功能类型分以下6种语⾔,其中1-4条使⽤最多。1、数据查询语⾔(DQL:Data Query Language):其语句,也称为“数据检索语句”,⽤以从表中获得数据,确定数据怎样在应⽤程序给出。保留字SELECT是DQL(也是所有SQL)⽤得最多的动词,其他DQL常⽤的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句⼀起使⽤。2、数据操作语⾔(DML:Data Manipulation Language):其语句包括动词INSERT、UPDATE和DELETE。它们分别⽤于添加、修改和删除。3、数据控制语⾔(DCL):它的语句通过GRANT或REVOKE实现权限控制,确定单个⽤户和⽤户组对数据库对象的访问。某些RDBMS可⽤GRANT或REVOKE控制对表单个列的访问。4、数据定义语⾔(DDL):其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREAT TABLE 或 DROPTABLE);为表加⼊索引等。5、指针控制语⾔(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT⽤于对⼀个或多个表单独⾏的操作。6、事务控制语⾔(TCL):它的语句能确保被DML语句影响的表的所有⾏及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。三、SQL使⽤DDL:CREATE,ALTER和DROPCREATE(创建)CREATE DATABASE 数据库名;--创建数据库CREATE TABLE 表名称(列名1 数据类型(数据长度),列名2 数据类型(数据长度),列名3 数据类型(数据长度));--创建数据表数据类型描述integer(size)int(size)smallint(size)tinyint(size)decimal(size,d)numeric(size,d)容纳带有⼩数的数字。'size" 规定数字的最⼤位数。" d " 规定⼩数点容纳固定长度的字符串( 可容纳字母、数字以及特殊字符)在括号中规定字符串的长度。容纳可变长度的字符串( 可容纳字母、数字以及特殊字符)在括号中规定字符串的最⼤长度容纳⽇期。仅容纳整数。在括号内规定数字的最⼤位数。char(size)varchar(size)date(yyyymmdd)CREATE USER ⽤户名 IDENTIFIED BY 密码;--创建⽤户CREATE INDEX 索引名称 ON 表名称(列名称);--创建索引ALTER(修改)alter table 表名称 add 列名称 数据类型;--在某个表增加某个字段alter table 表名称 drop column 列名称;--删除某个表的某个字段alter table 表名称 alter column 列名称DROP(撤销)drop database 数据库名称;--删除数据库drop table 表名称;--删除表(表的结构、属性以及索引也会删除)DML:SELECT、INSERT、UPDATE和DELETESELECT(查询)SELECT 列名称 FROM 表名称;--查询某个表中某些列值SELECT * FROM 表名称;--查询某个表中所有列的数据INSERT(插⼊)INSERT INTO 表名称 (列1,列2,列3,)VALUES (值1,值2,值3,);--向某个表的某些字段插⼊数据,注意列名称要与值⼀⼀对应INSERT INTO 表名称 VALUES (值1,值2,值UPDATE(更新)UPDATE 表名称 SET 列名称=新值;--更新某个表的某列的值,实际⽣产使⽤中常与WHERE⼦句同⽤,筛选⼀条或多条数据进⾏修改update 表名称 set 列名称=REPLADELETE(删除)delete from 表名称;--删除某个表中数据,同样⽣产使⽤中常与WHERE⼦句同⽤,筛选⼀条或多条数据进⾏删除DCL:GRANT或REVOKEGRANT(授予)GRANT ON 表名[(列名)] TO ;GRANT ON FROM ;--授权REVOKE(回收)REVOKE ON FROM ;--收回权限DQL:WHERE,ORDER BY,GROUP BY和HAVINGWHERE(在某种情况下)WHERE⼦句常与“增删改查”语句搭配作筛选数据⽤,通过运算符对⽐某个字段以此作为条件筛选部分数据进⾏其他操作;可以理解为条件语句,满⾜条件的执⾏“增删改查”操作,不满⾜条件的不进⾏“增删改查”操作。常见运算符:运算符=<>><>=<=likebetween描述等于不等于⼤于⼩于⼤于等于⼩于等于相似于(模糊查询)某个范围内ORDER BY(排序)ORDER BY 关键字⽤于对结果集进⾏排序,ORDER BY DESCD倒序排列SELECT * FROM 表名称 ORDER BY 列名称;--查询表按某列进⾏排列SELECT * FROM 表名称 ORDER BY 列名称 DESC;--查询表按某列进⾏倒序排列GROUP BY(分组)GROUP BY 语句⽤于结合聚合函数,根据⼀个或多个列对结果集进⾏分组SELECT 列名称 FROM 表名称 GROUP BY 列名称;--查询某列所有不同值显⽰HAVING在 SQL 中增加 HAVING ⼦句原因是,WHERE 关键字⽆法与聚合函数⼀起使⽤。HAVING ⼦句可以让我们筛选分组后的各组数据。推荐书籍:《SQL基础教程》,想要深⼊学习的朋友有机会可以看看
发布评论