sql数据库

动态sql语句基本语法

独自空忆成欢 提交于 2020-02-29 15:03:46
1 :普通SQL语句可以用Exec执行 eg: Select * from tableName Exec('select * from tableName') Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N 2:字段名,表名,数据库名之类作为变量时,必须用动态SQL eg: declare @fname varchar(20) set @fname = 'FiledName' Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。 Exec('select ' + @fname + ' from tableName') -- 请注意 加号前后的 单引号的边上加空格 当然将字符串改成变量的形式也可 declare @fname varchar(20) set @fname = 'FiledName' --设置字段名 declare @s varchar(1000) set @s = 'select ' + @fname + ' from tableName' Exec(@s) -- 成功 exec sp_executesql @s -- 此句会报错 declare @s Nvarchar(1000) -- 注意此处改为nvarchar

动态sql语句的执行(sp_executesql)

空扰寡人 提交于 2020-02-29 15:03:27
sp_executesql 的参数必须为UNICODE,即NCHAR,NVARCHAR,NTEXT型,否则报错 动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 Select * from tableName Exec('select * from tableName') Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N 2:字段名,表名,数据库名之类作为变量时,必须用动态SQL eg: declare @fname varchar(20) set @fname = 'FiledName' Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。 Exec('select ' + @fname + ' from tableName') -- 请注意 加号前后的 单引号的边上加空格 当然将字符串改成变量的形式也可 declare @fname varchar(20) set @fname = 'FiledName' --设置字段名 declare @s varchar(1000) set @s = 'select ' + @fname + ' from tableName' Exec(@s) -- 成功 exec sp

动态sql语句基本语法

∥☆過路亽.° 提交于 2020-02-29 15:02:20
1 :普通SQL语句可以用Exec执行 例: Select * from tableName Exec('select * from tableName') Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N 2:字段名,表名,数据库名之类作为变量时,必须用动态SQL 错误: declare @fname varchar(20) set @fname = 'FiledName' Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。 正确: Exec('select ' + @fname + ' from tableName') -- 请注意加号前后的单引号的边上加空格 当然将字符串改成变量的形式也可 declare @fname varchar(20) set @fname = 'FiledName' --设置字段名 declare @s varchar(1000) set @s = 'select ' + @fname + ' from tableName' Exec(@s) -- 成功 exec sp_executesql @s -- 此句会报错 --注:@s参数必须为ntext或nchar或nvarchar类型

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误

十年热恋 提交于 2020-02-29 13:48:28
数据库连接一直报错: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。 未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 25 - 连接字符串无效) (Microsoft SQL Server,错误: 87) 服务端配置检查了一遍又一遍,最后发现问题出在服务器名称上。。 习惯性IP地址端口号用冒号分隔,但MSSQL里面是用逗号分隔的。。 微软这个设计害人不浅。。 来源: https://www.cnblogs.com/hironpan/p/12382420.html

Oracle客户端连接服务器

我与影子孤独终老i 提交于 2020-02-29 11:17:28
使用PL/SQL Developer连接Oracle服务器,需要依赖Oracle Client。PL/SQL Developer和Oracle Client需要使用一样的位数,要么全是32位,要么全是64位,不然不兼容。 客户端连接Oracle是一个非常烦恼人的过程,PL/SQL Deveplover又收费,如果之前安装过Oracle Client,可能卸载的时候没有卸载干净,导致安装PL/SQL Developer又有各种问题。 Oralce Client分多种版本,可以到Oralce官网下载,一种是带安装程序的版本,一种是绿色解压版,不同版本的Oracle Client包含的内容,支持功能不同,如果有特殊需要,需要下载特定版本的。 1、如果本地机器安装了Oracle服务器,本地机器需要连接其他机器上的Oracle服务器,是否只需要现在PL/SQL Developer就行了,Oracle服务器的安装包,是否包含Oracle Client?如果是,那么怎么配置PL/SQL Developer? 2、PL/SQL Developer和Oracle Client的配套 需要在Oracle Client的家目录下,新建文件夹network/admin,将tnsnames.ora文件放入其中,这样PL/SQL Developer登录框的Database下拉框,可以选择不同的数据库。

Oracle数据库如何创建DATABASE LINK

为君一笑 提交于 2020-02-29 11:16:23
Oracle数据库如何创建DATABASE LINK? 项目示例: select sysdate from dual@TO_SLIFESUG.REGRESS.RDBMS.DEV.US.ORACLE.COM ; drop database link TO_SLIFESUG.REGRESS.RDBMS.DEV.US.ORACLE.COM; create database link TO_SLIFESUG.REGRESS.RDBMS.DEV.US.ORACLE.COM connect to SLIFESUG identified by SLIFESUG using '10.10.164.121/orcl'; ORACLE建立DB-LINK 测试条件 www.2cto.com 两台服务器 远程:IP:192.168.0.18,SID: usertest,用户名:usertest,密码:123456 本地:IP: 192.168.8.90,SID: wjn,用户名:userwjn,密码:mosquito0 参数设置 1. 查看 数据库 global_name 执行select * from global_name; 远程数据库18返回: USERTEST.US.ORACLE.COM 本地数据库90返回: DB_WJN.REGRESS.RDBMS.DEV.US.ORACLE.COM 2.

plsql配置数据库连接

佐手、 提交于 2020-02-29 11:15:49
工具/原料 PL/SQL 方法/步骤 在Oracle的安装文件下查找tnsnames.ora文件,一般路径如: ORACLE_HOME%\network\admin下: 如果真的找不到路径,建议大家在Oracle安装位置全文搜索tnsnames.ora 打开tnsnames.ora,可以看到所有的数据库连接配置 介绍下配置格式 只需要根据上一步介绍的格式修改ip或者端口号或者SID即可,总体不变,发一个自己写的例子 下载并安装PL/SQL,成功安装后配置应用tools->preferences->Oracle->connection 选择刚刚的配置文件,单击保存 重新登陆PL/SQl,即会在database中有刚刚配置的数据库连接选项 输入用户名密码,单击”登录“即可 百度知道网址 :http://jingyan.baidu.com/article/c74d600080632a0f6a595d80.html 来源: https://www.cnblogs.com/momjs/p/6214017.html

SQL语句中有关单引号、双引号和加号的问题

这一生的挚爱 提交于 2020-02-29 10:49:26
字符串数据是用单引号包在外面的,而+号只是用来连接这些字符串的. 数据库里的字段是整型的时候不要加单引号,是字符串的时候要加,其它类型根据实际情况来,双引号就是用来拼接字符串的,单引号是sql文的固有写法,因为你要动态的来拼接,涉及到变量,所以要用“+”来组合各个字符串片段。最终结果无非就是得出能在数据库查询分析器中执行的sql文。 String sql = "insert into student values ( " + student.getId() + " ,' " + student.getUsername() + " ', " + student.getAge() + " ,' " + student.getClassnumber()+" ')"; 因为id和age是int型的所以不用加单引号, 你的Username在数据库中定义的是一个varchar型的,而对字符型进行条件查询的时候是要加 ' '号的: select count(*) from student where username= 'aaa ' 因此在后台写查询字符串的时候就必须这样写: string sql = "select count(*) from student where username= ' "+userName+ " ' " 这样映射成的查询语句就是: select count(*)

python3,pymysql操作数据库

橙三吉。 提交于 2020-02-29 10:42:40
1.pymysql和mysqldb主要区别:mysqldb只支持python2,还不支持3,所以在python3中用pymysql代替 2.使用python脚本实现增删改查和事物处理: import sysimport pymysql class dataBase(): global TABLENAME def connectDB(self,sql): try:       #连接数据库   conn=pymysql.connect(host="10.20.89.15",port=3306,user="root",password="123456", db="cs-sincerity",charset="utf8")       #获取游标 curs=conn.cursor(pymysql.cursors.DictCursor)       #执行sql curs.execute(sql)       alldatas=curs.fetchall()    if sql.find('insert')>-1: alldatas=conn.insert_id() conn.commit() curs.close() conn.close() return alldatasexcept: print("Can't connect database") sys.exit()     def

python3操作PyMySQL笔记

巧了我就是萌 提交于 2020-02-29 10:42:20
python3操作mysql需要先安装PyMySQL pip install PyMySQL 在linux登录mysql ,并且在安装数据库时设置了数据库的用户名“root”和密码“root”,mysql安装的版本为mysql5.7 [root@web ~]# mysql -uroot -p -h192.168.10.100 在mysql里面创建一个mysql库 mysql> create database mrsoft; Query OK, 1 row affected (0.00 sec) 下面是新建一个py文件远程创建一个mysql连接,下面通过connect()方法连接MySQL数据库mrsoft,具体代码如下: import pymysql # 打开数据库连接, 参数1:主机名或者ip;参数2:用户名;参数3:密码;参数4:数据库名称;参数5:用utf8格式打开数据库表防止出现中文乱码 db = pymysql.connect("192.168.10.100", "root", "root", "mrsoft", charset="utf8") # 使用cursor()方法创建一个游标对象cursor cursor = db.cursor() # 使用execute()方法执行SQL查询 cursor.execute("SELECT VERSION()") #