《2022年sql简单查询语句 .pdf》由会员分享,可在线阅读,更多相关《2022年sql简单查询语句 .pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据记录筛选sql=select * from 数据表where 字段名 =字段值order by 字段名 sql=select * from 数据表where 字段名like %字段值 % order by 字段名 sql=select top 10 * from 数据表where 字段名order by 字段名 sql=select * from 数据表where 字段名in (值 1 , 值 2 , 值 3 )sql=select * from 数据表where 字段名between 值 1 and 值 2 更新数据记录sql=update 数据表set 字段名 =字段值where 条件
2、表达式 sql=update 数据表set 字段 1=值 1,字段 2=值 2 字段 n=值 n where 条件表达式 删除数据记录:sql=delete from 数据表where 条件表达式 sql=delete from 数据表 (将数据表所有记录删除) 添加数据记录:sql=insert into 数据表(字段 1,字段 2,字段 3 ) valuess ( 值 1,值 2,值 3 )sql=insert into 目标数据表select * from 源数据表 ( 把源数据表的记录添加到目标数据表) 数据记录统计函数:AVG( 字段名 ) 得出一个表格栏平均值COUNT(*| 字段
3、名 ) 对数据行数的统计或对某一栏有值的数据行数统计MAX( 字段名 ) 取得一个表格栏最大的值MIN( 字段名 ) 取得一个表格栏最小的值SUM( 字段名 ) 把数据栏的值相加引用以上函数的方法:sql=select sum(字段名 ) as 别名 from 数据表 where 条件表达式 set rs=conn.excute(sql) 用 rs(别名) 获取统的计值,其它函数运用同上。数据表的建立和删除CREATE TABLE 数据表名称 (字段 1 类型 1(长度 ),字段 2 类型 2(长度 ) )例: CREATE TABLE tab01(name varchar(50),datet
4、ime default now() DROP TABLE 数据表名称(永久性删除一个数据表) 查询一个表中所有记录,只返回所需要的字段SELECT I_name, i_age from info 选择姓名年龄我从 INFO 表 (字段名要用 ,隔开)use aa 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 13 页 - - - - - - - - - append from bb 如果是单纯追加的话可以参考append from 表名 .dbf CREATE 作用:建
5、立一个新的表。ALL 所有的记录MODIFY STRUCTURE 作用:显示表文件结构,并允许修改此表的结构。格式: MODIFY STRUCTURE 说明:只有在用USE 命令打开表文件以后,才能显示或修改表文件的结构。APPEND 作用:在当前表的尾部(无论表中有无记录)追加记录(合库 ) BROWSE 作用:打开一个浏览 窗口,供用户浏览或修改记录INDEX ON TAG OF FOR DELETE 做标记、 PACK 删除、 ZAP 全部删除和 RECA ALL 恢复删除标记作用: 分别是给要删除的记录作删除标记、彻底删除、 删除所有记录和取消被选中的表记录的删除标志。格式: DELE
6、TE WHILE FOR (特例: DELETE FILE FILENAME.DBF,该命令删除指定的表文件)PACK ZAP 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 13 页 - - - - - - - - - RECALL FOR WHILE 具体语句:1、把有一项缺考的人删除掉:select * from tycj_6.dbf where trim(bz) like %(% or (trim(qk1)= and trim(qk2)= and trim(qk3
7、)=) 2、把删除掉缺考人的表重新命名为:有效成绩.dbf 3、把有病的同学的tyzj 更新为 18.0 分:update 有效成绩 .dbf set tycj=18.0 where trim(bz) like %(按 18 分计入总分) % 4、计算有效同学的总成绩:select sum(tycj) as zongfen from 有效成绩 .dbf 5、计算平均分:select avg(tycj) as junfen from 有效成绩 .dbf 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
8、- - - 第 3 页,共 13 页 - - - - - - - - - 超详细的 SQL语句语法(一)常用的SQL语句语法比较常用的 SQL语句语法 (Oracle) 一. 数据控制语句 (DML) 部分1.Insert (往数据表里插入记录的语句) Insert INTO 表名(字段名 1, 字段名 2, ) VALUES ( 值 1, 值 2, ); Insert INTO 表名(字段名 1, 字段名 2, ) Select 字段名 1, 字段名2, FROM 另外的表名 ; 字符串类型的字段值必须用单引号括起来, 例如: GOOD DAY如果字段值里包含单引号 需要进行字符串转换 ,
9、我们把它替换成两个单引号. 字符串类型的字段值超过定义的长度会出错, 最好在插入前进行长度校验. 日期字段的字段值可以用当前数据库的系统时间SYSDATE, 精确到秒或者用字符串转换成日期型函数TO_DATE( 2001-08- 01, YYYY -MM-DD )TO_DATE() 还有很多种日期格式 , 可以参看 ORACLE DOC. 年-月-日 小时: 分钟: 秒 的格式 YYYY-MM-DD HH24:MI:SS Insert时最大可操作的字符串长度小于等于4000个单字节 , 如果要插入更长的字符串 , 请考虑字段用 CLOB 类型, 方法借用 ORACLE 里自带的 DBMS_LO
10、B程序包 . Insert时如果要用到从 1 开始自动增长的序列号 , 应该先建立一个序列号Create SEQUENCE 序列号的名称 ( 最好是表名 +序列号标记 ) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE; 其中最大的值按字段的长度来定, 如果定义的自动增长的序列号 NUMBER(6) , 最大值为 999999 Insert 语句插入这个字段值为 : 序列号的名称 .NEXTVAL 2.Delete (删除数据表里记录的语句) Delete FROM表名 Where 条件; 注意:删除记录并不能释放ORACLE
11、里被占用的数据块表空间 . 它只把那些被删除的数据块标成 unused. 如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - TRUNCATE TABLE 表名; 此操作不可回退 . 3.Update (修改数据表里记录的语句) Update 表名 SET 字段名 1=值 1, 字段名 2=值 2, Where 条件; 如果修改的值
12、 N没有赋值或定义时 , 将把原来的记录内容清为NULL, 最好在修改前进行非空校验 ; 值 N超过定义的长度会出错 , 最好在插入前进行长度校验. 注意事项 : A. 以上 SQL语句对表都加上了行级锁 , 确认完成后 , 必须加上事物处理结束的命令 COMMIT 才能正式生效, 否则改变不一定写入数据库里. 如果想撤回这些操作 , 可以用命令 ROLLBACK 复原. B. 在运行 Insert, Delete 和 Update 语句前最好估算一下可能操作的记录范围 , 应该把它限定在较小 ( 一万条记录 ) 范围内 ,. 否则 ORACLE 处理这个事物用到很大的回退段. 程序响应慢甚至
13、失去响应. 如果记录数上十万以上这些操作, 可以把这些 SQL语句分段分次完成 , 其间加上 COMMIT 确认事物处理 . 二. 数据定义 (DDL) 部分1.Create (创建表 , 索引, 视图, 同义词 , 过程, 函数, 数据库链接等 ) orACLE常用的字段类型有CHAR 固定长度的字符串VARCHAR2 可变长度的字符串NUMBER(M,N) 数字型 M是位数总长度 , N 是小数的长度DATE 日期类型创建表时要把较小的不为空的字段放在前面, 可能为空的字段放在后面创建表时可以用中文的字段名, 但最好还是用英文的字段名创建表时可以给字段加上默认值, 例如 DEFAULT S
14、YSDATE 这样每次插入和修改时 , 不用程序操作这个字段都能得到动作的时间创建表时可以给字段加上约束条件例如 不允许重复 UNIQUE, 关键字 PRIMARY KEY 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 13 页 - - - - - - - - - 2.Alter (改变表 , 索引, 视图等 ) 改变表的名称Alter TABLE 表名 1 TO 表名 2; 在表的后面增加一个字段Alter TABLE 表名 ADD 字段名 字段名描述 ; 修改表里字
15、段的定义描述Alter TABLE 表名 MODIFY字段名 字段名描述 ; 给表里的字段加上约束条件Alter TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY ( 字段名 ); Alter TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名 ); 把表放在或取出数据库的内存区Alter TABLE 表名 CACHE; Alter TABLE 表名 NOCACHE; 3.Drop (删除表 , 索引, 视图, 同义词 , 过程, 函数, 数据库链接等) 删除表和它所有的约束条件Drop TABLE 表名 CASCADE CONSTRA
16、INTS; 4.TRUNCATE ( 清空表里的所有记录 , 保留表的结构 ) TRUNCATE 表名; 三. 查询语句 (Select) 部分Select 字段名 1, 字段名 2, FROM 表名 1, 表名 2, Where 条件 ; 字段名可以带入函数例如: COUNT(*), MIN(字段名 ), MAX(字段名 ), AVG(字段名), DISTINCT( 字段名), TO_CHAR(DATE字段名 ,YYYY-MM-DD HH24:MI:SS) NVL(EXPR1, EXPR2) 函数解释: IF EXPR1=NULL RETURN EXPR2 ELSE RETURN EXPR1
17、 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 13 页 - - - - - - - - - DECODE(AAV1R1 V2R2.)函数解释: IF AA=V1 THEN RETURN R1 IF AA=V2 THEN RETURN R2 . ELSE RETURN NULL LPAD(char1,n,char2)函数解释: 字符 char1 按制定的位数 n 显示,不足的位数用char2 字符串替换左边的空位字段名之间可以进行算术运算例如: (字段名 1*字段名 1
18、)/3 查询语句可以嵌套例如: Select FROM (Select FROM 表名 1, 表名 2, Where 条件 ) Where 条件 2; 两个查询语句的结果可以做集合操作例如: 并集 UNION( 去掉重复记录 ), 并集 UNION ALL( 不去掉重复记录 ), 差集MINUS, 交集 INTERSECT 分组查询Select 字段名 1, 字段名 2, FROM 表名 1, 表名 2, GROUP BY 字段名 1 HAVING 条件 ; 两个以上表之间的连接查询Select 字段名 1, 字段名 2, FROM 表名 1, 表名 2, Where 表名 1. 字段名 =
19、表名 2. 字段名 AND ;Select 字段名 1, 字段名 2, FROM 表名 1, 表名 2, Where 表名 1. 字段名 = 表名 2. 字段名(+) AND ;有(+) 号的字段位置自动补空值查询结果集的排序操作 , 默认的排序是升序ASC, 降序是 DESC Select 字段名 1, 字段名 2, FROM 表名 1, 表名 2, orDER BY字段名 1, 字段名 2 DESC; 字符串模糊比较的方法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共
20、 13 页 - - - - - - - - - INSTR(字段名, 字符串 )0字段名 LIKE 字符串 % % 字符串% 每个表都有一个隐含的字段ROWID, 它标记着记录的唯一性 . 四.ORACLE 里常用的数据对象 (SCHEMA) 1. 索引 (INDEX) Create INDEX 索引名 ON 表名 ( 字段 1, 字段 2, );Alter INDEX 索引名 REBUILD; 一个表的索引最好不要超过三个 ( 特殊的大表除外 ), 最好用单字段索引 , 结合SQL语句的分析执行情况 , 也可以建立多字段的组合索引和基于函数的索引orACLE8.1.7 字符串可以索引的最大长
21、度为1578 单字节orACLE8.0.6 字符串可以索引的最大长度为758 单字节orACLE DOC 上说字符串最大可以建索引的长度约是: 数据块的大小(db_block_size)*40% 2. 视图 (VIEW) Create VIEW 视图名 AS Select . FROM .;Alter VIEW 视图名 COMPILE; 视图仅是一个 SQL查询语句 , 它可以把表之间复杂的关系简洁化. 3. 同义词 (SYNONMY) Create SYNONYM 同义词名 FOR 表名; Create SYNONYM 同义词名 FOR 表名 数据库链接名 ; 4. 数据库链接 (DATAB
22、ASE LINK) Create DATABASE LINK数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码USING 数据库连接字符串;数据库连接字符串可以用NET8 EASY CONFIG 或者直接修改 TNSNAMES.ORA里定义 . 数据库参数 global_name=true时要求数据库链接名称跟远端数据库名称一样数据库全局名称可以用以下命令查出Select * FROM GLOBAL_NAME; 查询远端数据库里的表Select FROM 表名 数据库链接名 ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
23、- - - - - - 名师精心整理 - - - - - - - 第 8 页,共 13 页 - - - - - - - - - 五. 权限管理 (DCL) 语句1.GRANT 赋于权限常用的系统权限集合有以下三个: CONNECT(基本的连接 ), RESOURCE( 程序开发 ), DBA( 数据库管理 ) 常用的数据对象权限有以下五个: ALL ON 数据对象名 , Select ON 数据对象名, Update ON 数据对象名 , Delete ON 数据对象名 , Insert ON 数据对象名, Alter ON 数据对象名GRANT CONNECT, RESOURCE TO 用户
24、名 ; GRANT Select ON 表名 TO 用户名 ; GRANT Select, Insert, Delete ON表名 TO 用户名 1, 用户名 2; 2.REVOKE 回收权限REVOKE CONNECT, RESOURCE FROM 用户名 ; REVOKE Select ON 表名 FROM 用户名 ; REVOKE Select, Insert, Delete ON表名 FROM 用户名 1, 用户名 2; -算术函数 - /* 三角函数 */ SIN(float_expression) - 返回以弧度表示的角的正弦COS(float_expression) - 返回以弧
25、度表示的角的余弦TAN(float_expression) - 返回以弧度表示的角的正切COT(float_expression) - 返回以弧度表示的角的余切/* 反三角函数 */ ASIN(float_expression) - 返回正弦是FLOAT 值的以弧度表示的角ACOS(float_expression) - 返回余弦是FLOAT 值的以弧度表示的角ATAN(float_expression) - 返回正切是FLOAT 值的以弧度表示的角ATAN2(float_expression1,float_expression2) -返回正切是float_expression1 /float
26、_expres-sion2 的以弧度表示的角DEGREES(numeric_expression) -把弧度转换为角度返回与表达式相同的数据类型可为-INTEGER/MONEY/REAL/FLOAT 类型RADIANS(numeric_expression) - 把角度转换为弧度返回与表达式相同的数据类型可为-INTEGER/MONEY/REAL/FLOAT 类型EXP(float_expression) - 返回表达式的指数值LOG(float_expression) - 返回表达式的自然对数值LOG10(float_expression)- 返回表达式的以10 为底的对数值SQRT(flo
27、at_expression) - 返回表达式的平方根/* 取近似值函数*/ CEILING(numeric_expression) - 返回 =表达式的最小整数返回的数据类型与表达式相同可名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 13 页 - - - - - - - - - 为-INTEGER/MONEY/REAL/FLOAT 类型FLOOR(numeric_expression) - 返回 =表达式的最小整数返回的数据类型与表达式相同可为-INTEGER/MONE
28、Y/REAL/FLOAT 类型ROUND(numeric_expression) - 返回以 integer_expression 为精度的四舍五入值返回的数据-类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型ABS(numeric_expression) - 返回表达式的绝对值返回的数据类型与表达式相同可为-INTEGER/MONEY/REAL/FLOAT 类型SIGN(numeric_expression) - 测试参数的正负号返回0 零值 1 正数或 -1 负数返回的数据类型-与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型PI() -返回
29、值为 即 3.1415926535897936 RAND(integer_expression) - 用任选的 integer_expression 做种子值得出0-1 间的随机浮点数-字符串函数 - ASCII() - 函数返回字符表达式最左端字符的ASCII 码值CHAR() - 函数用于将ASCII 码转换为字符-如果没有输入0 255 之间的 ASCII 码值 CHAR 函数会返回一个NULL 值LOWER() - 函数把字符串全部转换为小写UPPER() - 函数把字符串全部转换为大写STR() -函数把数值型数据转换为字符型数据LTRIM() - 函数把字符串头部的空格去掉RTRI
30、M() - 函数把字符串尾部的空格去掉LEFT(),RIGHT(),SUBSTRING() -函数返回部分字符串CHARINDEX(),PA TINDEX() - 函数返回字符串中某个指定的子串出现的开始位置SOUNDEX() - 函数返回一个四位字符码-SOUNDEX 函数可用来查找声音相似的字符串但SOUNDEX 函数对数字和汉字均只返回0 值DIFFERENCE() - 函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异-0 两个 SOUNDEX 函数返回值的第一个字符不同-1 两个 SOUNDEX 函数返回值的第一个字符相同-2 两个 SOUNDEX 函数返回值的第一二个字符
31、相同-3 两个 SOUNDEX 函数返回值的第一二三个字符相同-4 两个 SOUNDEX 函数返回值完全相同QUOTENAME() -函数返回被特定字符括起来的字符串/*select quotename(abc, ) quotename(abc) 运行结果如下- abc abc*/ REPLICATE() - 函数返回一个重复character_expression 指定次数的字符串名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 13 页 - - - - - - - -
32、 - /*select replicate(abc, 3) replicate( abc, -2) 运行结果如下- - abcabcabc NULL*/ REVERSE() - 函数将指定的字符串的字符排列顺序颠倒REPLACE() - 函数返回被替换了指定子串的字符串/*select replace(abc123g, 123, def) 运行结果如下- - abcdefg*/ SPACE() -函数返回一个有指定长度的空白字符串STUFF() - 函数用另一子串替换字符串指定位置长度的子串-数据类型转换函数- CAST() 函数语法如下CAST() ( AS length ) CONVERT
33、() 函数语法如下CONVERT() ( length , , style) select cast(100+99 as char) convert(varchar(12), getdate() 运行结果如下- - 199 Jan 15 2000 -日期函数 - DAY() - 函数返回date_expression 中的日期值MONTH() - 函数返回date_expression 中的月份值YEAR() - 函数返回date_expression 中的年份值DATEADD( , ,) -函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期DATEDIFF( , ,)
34、 -函数返回两个指定日期在datepart 方面的不同之处DATENAME( , ) - 函数以字符串的形式返回日期的指定部分DATEPART( , ) - 函数以整数值的形式返回日期的指定部分GETDA TE() - 函数以 DATETIME 的缺省格式返回系统当前的日期和时间-系统函数 - APP_NAME() - 函数返回当前执行的应用程序的名称COALESCE() - 函数返回众多表达式中第一个非NULL 表达式的值COL_LENGTH(, ) -函数返回表中指定字段的长度值COL_NAME(, ) -函数返回表中指定字段的名称即列名名师资料总结 - - -精品资料欢迎下载 - - -
35、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 13 页 - - - - - - - - - DATALENGTH() - 函数返回数据表达式的数据的实际长度DB_ID(database_name) - 函数返回数据库的编号DB_NAME(database_id) - 函数返回数据库的名称HOST_ID() - 函数返回服务器端计算机的名称HOST_NAME() - 函数返回服务器端计算机的名称IDENTITY(, seed increment) AS column_name) -IDENTITY() 函数只在SELEC
36、T INTO 语句中使用用于插入一个identity column 列到新表中/*select identity(int, 1, 1) as column_name into newtable from oldtable*/ ISDATE() - 函数判断所给定的表达式是否为合理日期ISNULL(, ) -函数将表达式中的NULL 值用指定值替换ISNUMERIC() - 函数判断所给定的表达式是否为合理的数值NEWID() - 函数返回一个UNIQUEIDENTIFIER 类型的数值NULLIF(, ) -NULLIF 函数在 expression1 与 expression2 相等时返回N
37、ULL 值若不相等时则返回expression1 的值- sql 中的保留字action add aggregate all alter after and as asc avg avg_row_length auto_increment between bigint bit binary blob bool both by cascade case char character change check checksum column columns comment constraint create cross current_date current_time current_times
38、tamp data database databases date datetime day day_hour day_minute day_second dayofmonth dayofweek dayofyear dec decimal default delayed delay_key_write delete desc describe distinct distinctrow double drop end else escape escaped enclosed enum explain exists fields file first float 名师资料总结 - - -精品资料
39、欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 13 页 - - - - - - - - - float4 float8 flush foreign from for full function global grant grants group having heap high_priority hour hour_minute hour_second hosts identified ignore in index infile inner insert insert_id int integer
40、 interval int1 int2 int3 int4 int8 into if is isam join key keys kill last_insert_id leading left length like lines limit load local lock logs long longblob longtext low_priority max max_rows match mediumblob mediumtext mediumint middleint min_rows minute minute_second modify month monthname myisam
41、natural numeric no not null on optimize option optionally or order outer outfile pack_keys partial password precision primary procedure process processlist privileges read real references reload regexp rename replace restrict returns revoke rlike row rows second select set show shutdown smallint son
42、ame sql_big_tables sql_big_selects sql_low_priority_updates sql_log_off sql_log_update sql_select_limit sql_small_result sql_big_result sql_warnings straight_join starting status string table tables temporary terminated text then time timestamp tinyblob tinytext tinyint trailing to type use using unique unlock unsigned update usage values varchar variables varying varbinary with write when where year year_month zerofill名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 13 页 - - - - - - - - -