数据转移 insert into 商品临时(商品ID,商品名称,单位,商品条码, 供货商ID) select 商品ID,商品名称,单位,商品条码,供货 商ID from 商品
增加字段 alter table 订单明细 add 备注 string default 1
删除字段 alter table 订单明细 drop 备注
修改字段 alter table 订单明细 modify 备注 新备注 string(100)...
在Tab1的Date列上建立可重复索引 Create Index iDate ON Tab1 ([Date])
在Tab1的Name列上建立不可重复索引 Create Unique Index iName ON Tab1 (Name)
删除索引 Drop Index iDate ON Tab1
访问多个不同的ACCESS数据库-在SQL中使用In子句 Select a.*,b.* From Tab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID; 上面的SQL语句查询出当前数据库中Tab1和db2.mdb (当前文件夹中)中Tab2以ID为关联的所有记录. 缺点-外部数据库不能带密码.
ACCESS中的日期查询 注意:ACCESS中的日期时间分隔符是#而不是引号 Select * From Tab1 Where [Date]>#2002-1-1#
======================================================= 选择不重复的数据用DIST SELECT DISTINCT PRICE FROM TABLE
对字段进行计算后形成新字段 SELECT PRICE,(PRICE+15)NEWPRICE FROM TABLE 或 SELECT PRICE,PRICE+15 NEWPRICE FROM TABLE 也可以对其中两个字段进行计算形成新了段
LIKE的格式有 表示含:SELECT name FROM users WHERE name LIKE '%yang%' 表示不含:SELECT name FROM users WHERE name NOT LIKE '%yang%' 表示以yang开头:SELECT name FROM users WHERE name LIKE 'yang%' 表示匹配其它字符:SELECT name FROM users WHERE name LIKE 'ya_' 组合:SELECT name FROM users WHERE name LIKE '_ya%'
把两个字符串类型的字段合在一起(同CONCAT) SELECT fname lname name FROM users 中间也可以插入符号:SELECT fname ',' lname name FROM users
UNION(联合) SELECT * FROM user1 UNION SELECT * FROM user2 //合并两个选择结果,去重复部分 SELECT * FROM user1 UNION ALL SELECT * FROM user2 //合并两个选择结果,不去重复部分
INTERSECT(相交) SELECT * FROM user1 INTERSECT SELECT * FROM user2 //得到两种选择结果共同的部分
MINUS(相减) SELECT * FROM user1 MINUS SELECT * FROM user2
IN SELECT * FROM user WHERE username IN('yang','lin','chen') //得到用户名中含有yang或lin或chen的用户
BETWEEN SELECT * FROM PRICETABLE WHERE price BETWEEN 10 AND 30 //得到价格在10和30之间的产品
=============================================== COUNT() 得到记录个数 SUM() 汇总数 AVG() 平均数 MAX() 最大数 MIN() 最小数 ADD_MONTHS() 增加一个月 例: SELECT * FROM date WHERE ADD_MONTHS(bdate) < ldate LAST_DAY() 返回月份的最后一天 SELECT LAST_DAY(ndate) FROM user MONTHS_BETWEEN(udate,ndate) 返回两个月之间有多少个月 NEXT_DAY() 返回指定日期所在星期 星期几的日期 SYSDATE() 返回系统日期和时间
=============================================== 对一个表中某个字段为数字需要在另一个表中得到具体内容 的操作,以下例子是涉及到四个表的操作方法。 SELECT * FROM (((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity) INNER JOIN Wedlock ON Member.Wedlock=Wedlock.Wedlock ORDER BY MemberDate DESC
===============================================
===============================================
===============================================
===============================================
===============================================
===============================================
蛙蛙推荐:整理了一些SQL数据库技巧,贴一下
一.怎样删除一个表中某个字段重复的列呀,举个例子 表[table1] id name 1 aa 2 bb 3 cc 1 aa 2 bb 3 cc 我想最后的表是这样的 id name 1 aa 2 bb 3 cc 回答: 将记录存到临时表#t中,重复的记录只存一条,然后将临时表#t 中的记录再存回原表中,注意“select distinct id,class,name” 要包含你需要的所有字段,否则有些字段就被删掉了。 在查询管理器里执行下面代码: ----------------------------- SELECT DISTINCT id,, name INTO #t FROM table1 DELETE table1 INSERT INTO table1 SELECT * FROM #t ------------------------------ 二.找出既会VB又会PHP的人 表是这样的: ID 员工 技能 1 1 VB 2 1 PHP 3 1 ASP 4 2 PHP 5 3 ASP 6 4 VB 7 4 ASP 要从这张表中找出既会VB又会PHP的人,SQL该怎么写啊? 回答: -------------------------------------------------------- ------------------------------------- SELECT 员工 FROM [Table] WHERE 员工 IN(SELECT 员工 FROM [Table] WHERE 技能='VB' ) AND 技能='PHP' ------------------------------------------------------- --------------------------------------- 三.数据库合并问题 access里的两个表,想让两个表的内容合并