嵌入式 数据库增删改查基本语句
2014-09-08 18:38
274 查看
adoquery1.Fielddefs[1].Name; 字段名 dbgrid1.columns[0].width:=10; dbgrid的字段宽度 adoquery1.Fields[i].DataType=ftString 字段类型 update jb_spzl set kp_item_name=upper(kp_item_name) 修改数据库表中某一列为大写 select * from master.dbo.sysobjects ,jm_barcode.dbo.users 多库查询 adotable1.sort:='字段名称 ASC' adotable排序 SQL常用语句一览 sp_password null,'新密码','sa' 修改数据库密码 (1)数据记录筛选: sql="select * from 数据表 where 字段名=字段值 orderby 字段名 [desc] " sql="select * from 数据表 where 字段名 like '%字段值%' orderby 字段名 [desc]" sql="select top10 * from 数据表 where 字段名 orderby 字段名[desc]" sql="select * from 数据表 where 字段名 in('值1','值2','值3')" sql="select * from 数据表 where 字段名 between 值1 and 值 2" (2)更新数据记录: sql="update 数据表 set 字段名=字段值 where 条件表达式" sql="update 数据表 set 字段1=值1,字段2=值2……字段n=值n where 条件表达式" (3)删除数据记录: sql="delete from 数据表 where 条件表达式" sql="delete from 数据表 "(将数据表所有记录删除) (4)添加数据记录: sql="insert into 数据表(字段1,字段2,字段3…) values(值1,值2,值3…)" sql="insert into 目标数据表 select * from 源数据表"(把源数据表的记录添加到目标数据表) (5)数据记录统计函数: AVG(字段名)得出一个表格栏平均值 COUNT(*|字段名)对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名)取得一个表格栏最大的值 MIN(字段名)取得一个表格栏最小的值 SUM(字段名)把数据栏的值相加 引用以上函数的方法: sql="selectsum(字段名)as别名from数据表where条件表达式" setrs=conn.excute(sql) 用rs("别名")获取统的计值,其它函数运用同上。 (5)数据表的建立和删除: CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)……) 例:CREATETABLEtab01 (namevarchar (50), datetimedefaultnow ()) DROPTABLE数据表名称(永久性删除一个数据表) 4.记录集对象的方法: rs.movenext将记录指针从当前的位置向下移一行 rs.moveprevious将记录指针从当前的位置向上移一行 rs.movefirst将记录指针移到数据表第一行 rs.movelast将记录指针移到数据表最后一行 rs.absoluteposition=N将记录指针移到数据表第N行 rs.absolutepage=N将记录指针移到第N页的第一行 rs.pagesize=N设置每页为N条记录 rs.pagecount根据pagesize的设置返回总页数 rs.recordcount返回记录总数 rs.bof返回记录指针是否超出数据表首端,true表示是,false为否 rs.eof返回记录指针是否超出数据表末端,true表示是,false为否 rs.delete删除当前记录,但记录指针不会向下移动 rs.addnew添加记录到数据表末端 rs.update更新数据表记录 SQL语句的添加、删除、修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来? 添加、删除、修改使用db.Execute(Sql)命令执行操作 ╔----------------╗ ☆ 数据记录筛选 ☆ ╚----------------╝ 注意:单双引号的用法可能有误(没有测式) Sql = "Select Distinct 字段名 From 数据表" Distinct函数,查询数据库存表内不重复的记录 Sql = "Select Count(*) From 数据表 where 字段名1>#18:0:0# and 字段名1< #19:00# " count函数,查询数库表内有多少条记录,“字段名1”是指同一字段 例: set rs=conn.execute("select count(id) as idnum from news") response.write rs("idnum") sql="select * from 数据表 where 字段名 between 值1 and 值2" Sql="select * from 数据表 where 字段名 between #2003-8-10# and #2003-8-12#" 在日期类数值为2003-8-10 19:55:08 的字段里查找2003-8-10至2003-8-12的所有记录,而不管是几点几分。 select * from tb_name where datetime between #2003-8-10# and #2003-8-12# 字段里面的数据格式为:2003-8-10 19:55:08,通过sql查出2003-8-10至2003-8-12的所有纪录,而不管是几点几分。 Sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" Sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" 模糊查询 Sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" 查找数据库中前10记录 Sql="select top n * form 数据表 order by newid()" 随机取出数据库中的若干条记录的方法 top n,n就是要取出的记录数 Sql="select * from 数据表 where 字段名 in ('值1','值2','值3')" ╔----------------╗ ☆ 添加数据记录 ☆ ╚----------------╝ sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)" sql="insert into 数据表 valuess (值1,值2,值3 …)" 不指定具体字段名表示将按照数据表中字段的顺序,依次添加 sql="insert into 目标数据表 select * from 源数据表" 把源数据表的记录添加到目标数据表 ╔----------------╗ ☆ 更新数据记录 ☆ ╚----------------╝ Sql="update 数据表 set 字段名=字段值 where 条件表达式" Sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式" Sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n " 没有条件则更新整个数据表中的指定字段值 ╔----------------╗ ☆ 删除数据记录 ☆ ╚----------------╝ Sql="delete from 数据表 where 条件表达式" Sql="delete from 数据表" 没有条件将删除数据表中所有记录) ╔--------------------╗ ☆ 数据记录统计函数 ☆ ╚--------------------╝ AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 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),datetime default now()) DROP TABLE 数据表名称 (永久性删除一个数据表) ╔--------------------╗ ☆ 记录集对象的方法 ☆ ╚--------------------╝ rs.movenext 将记录指针从当前的位置向下移一行 rs.moveprevious 将记录指针从当前的位置向上移一行 rs.movefirst 将记录指针移到数据表第一行 rs.movelast 将记录指针移到数据表最后一行 rs.absoluteposition=N 将记录指针移到数据表第N行 rs.absolutepage=N 将记录指针移到第N页的第一行 rs.pagesize=N 设置每页为N条记录 rs.pagecount 根据 pagesize 的设置返回总页数 rs.recordcount 返回记录总数 rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否 rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否 rs.delete 删除当前记录,但记录指针不会向下移动 rs.addnew 添加记录到数据表末端 rs.update 更新数据表记录 %:代表任意长的一段字符 _ :代表一个字符 [a,b,c,d]:a、b、c、d中的任意一个 [^a,b,c,d]:不在a、b、c、d中的任意一个一、增:有2种方法1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdents (姓名,性别,出生日期) values ('王伟华','男','1983/6/15') 注意:如果省略表名,将依次插入所有列 2.使用insert,select语句将现有表中的 数据添加到已有的新表中 语法:insert into <已有的新表> <列名> select <原表列名> from <原表名> 例:insert into addressList ('姓名','地址','电子邮件')select name,address,email from Strdents 注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致 二、删:有2中方法1.使用delete删除数据某些数据 语法:delete from <表名> [where <删除条件>] 例:delete from a where name='王伟华'(删除表a中列值为王伟华的行) 注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名 2.使用truncate table 删除整个表的数据 语法:truncate table <表名> 例:truncate table addressList 注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能 用于有外建约束引用的表 三、改 使用update更新修改数据 语法:update <表名> set <列名=更新值> [where <更新条件>] 例:update addressList set 年龄=18 where 姓名='王伟华' 注意:set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制条件,如果不选则整个表的所有行都被更新 四、查1.普通查询 语法:select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列 名>[asc或desc]] 1).查询所有数据行和列 例:select * from a 说明:查询a表中所有行和 2).查询部分行列--条件查询 例:select i,j,k from a where f=5 说明:查询表a中f=5的所有行,并显示i,j,k3列 3).在查询中使用AS更改列名 例:select name as 姓名 from a where gender='男' 说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示 4).查询空行 例:select name from a where email is null 说明:查询表a中email为空的所有行,并显示name列;SQL语句中用is null或者is not null 来判断是否为空行 5).在查询中使用常量 例:select name '北京' as 地址 from a 说明:查询表a,显示name列,并添加地址列,其列值都为'北京' 6).查询返回限制行数(关键字:top ) 例1:select top 6 name from a 说明:查询表a,显示列name的前6行,top为关键字(oracle 中没有top关键字 用rownum替代) select * from a where rownum<6 7).查询排序(关键字:order by , asc , desc) 例:select name from a where grade>=60 order by desc 说明:查询表中成绩大于等于60的所有行,并按降序显示name列;默认为ASC升序2.模糊查询 1).使用like进行模糊查询 注意:like运算副只用语字符串, 例:select * from a where name like '赵%' 说明:查询显示表a中,name字段第一个字为赵的记录 2).使用between在某个范围内进行查询 例:select * from a where age between 18 and 20 说明:查询显示表a中年龄在18到20之间的记录 3).使用in在列举值内进行查询(in后是多个的数据) 例:select name from a where address in ('北京','上海','唐山') 说明:查询表a中address值为北京或者上海或者唐山的记录,显示name字段3.分组查询 1).使用group by进行分组查询 例:select studentID as 学员编号, AVG(score) as 平均成绩 (注释:这里的score是列名) from score (注释:这里的score是表名) group by studentID 2).使用having子句进行分组筛选 例:select studentID as 学员编号, AVG from score group by studentID having count(score)>1 说明:接上面例子,显示分组后count(score)>1的行,由于where只能在没有分组 时使用,分组后只能使用having来限制条件,4.多表联接查询 1).内联接 ①在where子句中指定联接条件 例:select a.name,b.mark from a,b where a.name=b.name 说明:查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的 mark字段
相关文章推荐
- 数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)
- 数据库增删改查基本语句
- 数据库增删改查基本语句
- 数据库增删改查基本语句
- 数据库增删改查基本语句
- 数据库的基本操作——增删改查
- 数据库基本----SQL语句大全
- 支持SQL语句的嵌入式数据库:SQLite
- 数据库操作基本SQL语句
- 数据库基本----SQL语句大全
- 在网站了解到的一些,获取数据库基本信息的语句
- 数据库基本----SQL语句大全
- 数据库基本----SQL语句大全
- 学习Asp.Net应当知道的基本数据库操作语句
- 数据库基本----SQL语句大全
- 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
- 数据库基本----SQL语句大全
- 数据库语句的基本步骤
- web.config的设置,数据库连接语句(基本)!
- 学习Asp.Net应当知道的基本数据库操作语句