比如下面这些...
1,对于日期字段字段
access表示为:#1981-28-12#
SQLSERVER2000表示为:'1981-02-12'
2,SQL语句区别,select ,update 在对单表操作时都差不多,
但多表操作时update语句的区别ACCESS与SQLSERVER中的Update语句对比:
SQLSERVER中更新多表的Update语句:
Update Tab1
SET a.Name = b.Name FROM Tab1 a,Tab2 b Where a.ID = b.ID;
同样功能的SQL语句在ACCESS中应该是
Update Tab1 a,Tab2 b SET a.Name = b.Name Where a.ID = b.ID;
即:ACCESS中的Update语句没有FROM子句,所有引用的表都列在Update关键字后.
更新单表时:都为:
Update table1 set ab=‘12‘,cd=444 where ....
3,delete语句
access中删除时用:delete * from table1 where a>2 即只要把select 语句里的select 换成delete就可以了。
sqlserve 中则为: delete from table1 where a>2 即没有*号
4,as 后面的计算字段区别
access中可以这样:select a,sum(num) as kc_num,kc_num*num as all_kc_num 即可以把AS后的字段当作一个数据库字段参与计算。
sqlserver 中则为:select a,sum(num) as kc_num,sum(num)*num as all_kc_num 即不可以把AS后的字段当作一个数据库字段参与计算。
5,[.]与[!]的区别
access中多表联合查询时:select tab1!a as tab1a,tab2!b tab2b from tab1,tab2 ,中间的AS可以不要。
sqlserve 中则:select tab1.a as tab1a,tab2.b tab2b from tab1,tab2 ,中间的AS可以不要。
6,联合查询时,
access中多表联合查询:‘select a,b from(
select a,b from tab1 where a>3 union select c,d from tab2 ) group by a,b
sqlserve 中则‘select a,b from(
select a,b from tab1 where a>3 union select c,d from tab2 ) tmptable group by a,b即要加一个虚的表tmptable,表名任意。---
7,access升级到sqlserver时,
可以用sqlserver的数据导入工具导入数据,但要做必要的处理。
access中的自动编号,不会自动转换SQL中的自动编号,只能转换为int型,要把它手工改成标识字段,种子为1,把所有导入被sqlserver转化成的以n开头的字段类型的n去掉,如nvarchar->varchar.把需要有秒类型的日期字段改成datatime类型(SQL会把所有的日期开转化成smalldatetime型)
8,true与1=1
access用where true表示条件为真,
sqlserver用where 1=1表示条件为真
9,判断字段值为空的区别
普通空:
Access和sql server一样 where code is null 或 where code is nol null
条件空:
Access:iif([num] is null,0,[num]) 或 iif([num] is null,[num1],[num])
SQLServer: isnull([num],0) 或 isnull([num],[num1])
10,SQL语句取子串的区别
access:MID(字段,n1,[n2]),LEFT(字段,n),RIGHT(字段,n)
如:select left(cs1,4)+‘-‘+cs2 as cs3
SQLServer: SUBSTRING(expression, start, length)
如:select substring(cs1, 1, 2) + substring(cs1, 4, 2) + ‘-‘ + cs2 as cs3
补充:
ACCESS与SQL2000的SQL语句有区别的
比如now()在SQL2000中必须改为getdate()
还有关键词必须加[] ,像ACCESS中字段名用name SQL20000必须加[name] 否则出错
数据库连接字重新配置
1. access 转sql 数据库后需要建立各表关键字以及递增量设置部分数据类型需要重新定义
2. now() 函数是可接受的,但在日期比较过程中需要用 getdate()
3. 保留字需要加 []
4. 单双引号需要转变
5. 遵循标准sql定义(最关键的一条)
看看MSSQLServer联机丛书。
1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!
2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。
3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete * from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10".
4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对
SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。
ACCESS转SQLSERVER数据库的注意事项
四种数据库随机获取10条数据的方法
SQL Server:SELECT TOP 10 * FROM T_USER ORDER BY NEWID()ORACLE:SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10MySQL:SELECT *
Mysql分页查询limit语句的性能分析
一、limit用法在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。SELECT * FROM table LIMIT [off
sql文件导入[ERR] 2006 - MySQL server has gone away
目录 问题 原因 解决办法 如何设置和查看使用Navicat Premium 12导入mysql的sql文件时,导入失败,出现如下错误:2006 - MySQL server has gone away。mysql出现ERROR : (2006, &
mysql8.0 .ibd文件恢复表结构的实现
今天早上启动了 phpstudy 软件中的 MySQL 8.0 数据库时,发现它启动后约过了 3 秒就自行关闭了。接着又自动启动然后再次关闭,似乎陷入了一个“开-闭-开”的循环。这导致我无
MySQL实现按分秒统计数据量方式
目录
1. 每秒交易量
2. 每分钟交易量
3. 每5分钟交易量
4. 每10分钟交易量
5. 每30分钟交易量
结合 WHERE
Redis的五种基本类型和业务场景和使用方式
目录 Redis是什么? Redis的特点 依赖 配置 redis的配置类(用于格式转换,处理乱码) String(字符串) 特点 业务场景 代码使用案例 List(列表) 特点 业务场景 代码使用案例 S
Oracle中BLOB、CLOB的读取和写入方式
目录 Oracle中BLOB、CLOB的读取和写入 基于SQL的方式实现CLOB、BLOB的插入与读取 1. 插入大类型数据 2. 读取大类型数据并转换为字符串 基于Java方式实现CLOB和B
dbeaver如何导出mysql数据库
目录 dbeaver导出mysql数据库 右键表-tools-Dump database 按默认设置 总结 dbeaver导出mysql数据库右键表-tools-Dump database按默认设置只需修改输出文件夹我这里把
DBeaver如何实现导入excel中的大量数据
目录 DBeaver如何导入excel中的大量数据 步骤一:将Excel文件转换为CSV格式 步骤二:在DBeaver中创建数据库表(如果尚未创建) 步骤三:导入CSV文件到数据库表 注意事项 总结
Oracle归档日志爆满问题的处理方法
目录 一、先清理归档日志使得数据库能够正常连接 二、排查问题 三、处理问题 四、清理后效果最近客户单位的oracle数据库出了问题,经常出现无法连接,报错提示 ORA-00257: arc
Mysql中常用函数之分组,连接查询功能实现
目录 函数 单行函数 字符函数 数学函数 日期函数 流程控制函数 分组函数 分组查询 按单个字段分组 在分组前进行条件筛选 在分组之后进行条件筛选 按多字段分
SQL Server计算两个时间相差的示例代码
目录 1、计算两个时间字符串之间的差值 2、字符串转换成日期/时间类型 3、计算两个日期和时间之间的差值在 SQL Server 中,计算两个时间字符串之间的差值 首先将这些字符串转
Oracle DECODE 丢失时间精度的原因与解决方案
目录 问题描述 原因分析 解决方案在Oracle数据库中,DECODE 函数是一个非常实用的条件处理函数,通常用于替代简单的 CASE WHEN 语句。它根据给定的值列表进行匹配,如果匹配成功
使用 SQL 快速删除数百万行数据的实践记录
目录 描述 实践描述删除表大批量数据,这是一个比较少的事件。 但在实际的业务开发中或者数据测试也会遇到这种情况。比如定期从日志大表中删除几百万的数据记录;删除表数据的
MySQL处理大量DELETE操作的多种方法
目录 前言 简介 概述 DELETE 操作的基本概念 常用的 DELETE 方法 核心源码解读 简单 DELETE 语句 批量 DELETE 示例 案例分析 案例1:使用简单 DELETE 删除用户数据
MySQL删除表数据、清空表命令详解(truncate、drop、delete区别)
目录 一、MySQL清空表数据三种方法 1.1 清空表数据:truncate 1.2 删除表:drop 1.3 删除/清空表数据:delete 二、使用原则 三、truncate、drop、delete区别 1.操作类型
mysql如何将数据库中的所有表结构和数据导入到另一个库
目录 一、问题描述 二、解决方案 1.使用mysqldump命令备份数据库 2.创建目标数据库 3.导入数据 到目标数据库 三、补充知识 3.1 mysqldump命令介绍 3.2 常用备份命
MySQL深分页,limit 100000,10优化方式
目录 一、limit深分页为什么会变慢 二、优化方案 2.1 通过子查询优化(覆盖索引) 回顾B+树结构 覆盖索引 把条件转移到主键索引树 2.2 INNER JOIN 延迟关联
MySQL中的TRUNCATE()函数用法
目录 MySQL的TRUNCATE()函数 规则如下 函数示例 当 X 为正数时 当 X 为负数时 总结 MySQL的TRUNCATE()函数TRUNCATE(X,D) 是MySQL自带的一个系统函数。其中,X是数值,D
查看本地MYSQL数据库IP地址的三种方法
目录 方法一:在电脑设置中查看电脑iP地址 方法二:通过运行程序查看电脑IP地址 方法三:通过浏览器查看电脑IP地址 拓展:在自己电脑建立了MYSQL数据库,但是想在其它的电脑进行连接,
Redis中pipeline(管道)的实现示例
目录 概念 Pipeline 底层原理分析 Redis单个命令执行基本步骤 RTT 时间 Redis Pipeline Pipeline实际应用场景 数据导入导出 数据处理 批量操作 其他应用场
Postgresql开启SQL执行语句收集过程
修改配置文件1.打开Postgresql配置文件,如:C:\Program Files\PostgreSQL\14\data\postgresql.conf
2.修改如下,如果字段被#注释,则去掉#log_directory = 'log'
log_file
MySQL分区表的使用
目录 创建分区 删除分区 分区性能 总结说明:分区表,顾名思义,就是一张表根据规则,划分多个区,通过分区,实现一种“逻辑隔离”,这在Saas系统中是非常常见的。本文介绍如何
KubeSphere部署mysql的详细步骤
目录 1.创建mysql基础配置 2.创建pvc挂载 3.创建工作负载 4.创建服务(创建服务后才能进行外部访问) 5.测试mysql是否能正常访问演示示例使用的是3.4.1,各版本有名字差异 功能是
mySQL 8.0.33安装指南(推荐)
目录 安装步骤 1. 解压安装包 2. 移动解压后的文件夹 3. 创建MySQL用户 4. 设置权限 5. 配置MySQL 6. 设置环境变量 7. 初始化数据库 8. 设置系统服务 9. 设置roo
重置MySQL 8.0 Root密码的简便方法小结
目录 解决方案 1. 检查是否输入正确的密码 2. 使用“跳过权限表”的方式重置 root 密码 2.1 停止 MySQL 服务 2.2 以跳过权限表模式启动 MySQL 2.3 重
Redis实现接口防抖的示例代码
目录 实现 演示说明:实际开发中,我们在前端页面上点击了一个按钮,访问了一个接口,这时因为网络波动或者其他原因,页面上没有反应,用户可能会在短时间内再次点击一次或者用户以为没
Solusi MySQL 错误无法启动
发生的错误好吧,当我在 laragon 应用程序中从mysql 5.1.72升级到mysql 8.0.32时,发生了这个错误。当我在 laragon 应用程序中 start all 时,出现的错误是这样的。laragon 中的
掌握数据库操作:索引、视图、备份和恢复
介绍在本实验中,我们将学习和练习索引、视图、备份和恢复。这些概念对于数据库管理员来说非常重要。学习目标 创建索引 创建视图 备份与恢复准备开始之前,我们需要准备好环境
怎么导入mysql数据库文件 mysql数据库怎么导入sql文件
如何将 SQL 文件导入 MySQL 数据库导入 MySQL 数据库文件的方法:使用 MySQL 客户端 打开 MySQL 客户端并连接到目标数据库。 使用 SOURCE 命令,后跟要导入的 SQL 文件路径:SOUR