六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 55|回复: 0

数据库及SQL相关

[复制链接]

升级  79.33%

49

主题

49

主题

49

主题

秀才

Rank: 2

积分
169
 楼主| 发表于 2013-1-15 03:14:04 | 显示全部楼层 |阅读模式
引入ADO库
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "ADOEOF")
SQL语句
1.select * from 数据表 where 字段名 = 字段值 group by 字段名 having<条件表达式> order by 字段名[desc]
  select * from 数据表 where 字段名 like ...
  select top 10 * from ...
  select * from 数据表 where 字段名 in('值1', '值2', '值3')
  select * from 数据表 where 字段名 between 值1 and 值2
2.update 数据表 set 字段名 = 字段值 where 条件表达式
  update 数据表 set 字段1 = 值1, 字段2 = 值2, ...字段n = 值n, where 条件表达式
3.delete from 数据表 where 条件表达式
  delete from 数据表(所有记录都删除)
4.insert into 数据表(字段1, 字段2, 字段3,...)values(值1, 值2, ...)
  insert into 目标数据库 select * from 源数据库(把源数据库中的记录添加到目标数据库中)
5.统计函数
  AVG() count(* | 字段名) MAX() MIN() SUM()
  select sum(字段名) as 别名 from 数据表 where 条件表达式
6.create table 数据库名称(字段1 类型1(长度), 字段2 类型2(长度), ...)
  drop table(永久行删除一个数据表)
7.next previous
  bof数据库首端 eof数据库末端
8.技巧
  select distinct 字段名 from 数据表(查询数据库中不重复的记录)
  select count(*) from 数据表 where 字段名1 > ... and 字段名1 < ...
  count()函数查询数据库中有多少条记录
9.连接查询
  Select
    users, username
    users, password
    websites, name
  From
    users
  Inner Join
    websites
    On users.userID = websites.userID
  Insert Into users(username, password, email) values('admin', 'admin', 'admin@admin.com')
  Update users set username = 'Author' where userID = 100
  Delete users where userID = 1000
T-SQL
1.三种函数(行集函数, 聚和函数, 标量函数)
2.常用函数
  GetDate() Len() Lower() Upper() SQRT()
  例: Delare @sqrtvalue float '定义变量
        set @sqrtvalue = 90.00
      While @sqrtvalue < 101.00
      Begin
        select sqrt(@sqrtvalue)
        select @sqrtvalue = @sqrtvalue + 1
      End
  例: select count(userID) as userIDCount
        from users
        where userID > 10
  例: select count(*) as userIDCount
        from users
3. 存储过程
  create proc[edure] procedure_name [; number]
    [{@parameter data_type}
      [varying][= default][output]
    ][,...n]
  [with{recompite | encrypion | recompite, encryption}]
  [for replication]
  as sql_statement[...n]
4.触发器
  create trigger [mynew_trigger] on [dbo].[users]
  for insert
  as
  update users set email = 'admin@admin.com'
5.创建数据库
  create database database_name
  [on
     {[primary](name = logical_file_name,
                filename = 'os_file_name'
                [,size = size]
                [,maxsize = {max_size | unlimited}]
                [,filegrowth = growth_increment])
      }[,...n]]
  [log on
    {(name = logical_file_name,
      filename = 'os_file_name'
      [,size = size]
      [,maxsize = {max_size | unlimited}]
      [,filegrowth = growth_increment])
  }[,...n]]
SQL数据类型
  int, smallint, tinyint, real, float, decimal(numeric)
  char, varchar, nchar, nvarcha
  datetime, smalldatetime
  text, ntext, image
  money, smallmoney
  bit
  binary, varbinary
  timestamp
  bigint
  sal_variant
  table
SQL的主要关键字
select, create, drop, alter, update, delete, grant, revoke
数据查询
select [all | distinct] <目标列表达式>[,<目标列表达式>]...
from <表名或视图名>[,<表名或视图名>]...
[where <条件表达式>]
[group by <列名>[having <条件表达式>]]
[order by <列名>[asc | desc]];
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表