資料庫SQL文使用命令引數代替拼接SQL語句

2021-06-09 16:50:06 字數 754 閱讀 8340

做資料庫的常識,不要拼接sql語句,應使用命令引數更安全,不需要轉義。

import sqlite

//開啟資料庫連線

var sqlconnection = sqlite("/testparameters.db")

//建立表

if( not sqlconnection.existstable("film") )

//可以用@表示命名引數

var command = sqlconnection.prepare("insert into film values (@title,@length,@year, 'jodie foster');" )

//繫結命名引數

command.bind.parameterbynamesat(

title = "i'm jack"; //字串不需要轉義

length = 4;

year = time.now();

).step();

//釋放命令物件

command.finalize()

io.open();

for title, length, year, starring in sqlconnection.each("select * from film")

使用引數是最通用,也不會出錯的.拼接的sql不但容易錯,還會讓程式帶來

sql注入的風險,這在網頁應用中最明顯。

摘自:sqlite語句有特殊字元,怎麼處理?

MySQL 資料庫使用命令大全

系統環境 ubuntu14.04 資料庫軟體 mysql 1 進入mysql mysql u root p第一次進入mysql沒有密碼直接回車 2 第一次設定root密碼 set password for root localhost password newpass 3 更改密碼 mysqladm...

使用SQL命令建立MYSQL資料庫

一 連線mysql 格式 mysql h主機位址 u使用者名稱 p使用者密碼 1 連線到本機上的mysql。首先開啟dos視窗,然後進入目錄mysql bin,再鍵入命令mysql u root p,回車後提示你輸密碼.注意使用者名稱前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸...

資料庫基礎 使用命令建立表

語句如下create table 表名 表約束 n 注意 1.表名的完整寫法 資料庫名.架構名.架構名.表名。列定義列名 資料型別 指定列名,指定列的資料型別 null not null 是否為非空 constraint 約束名 default 常量表示式 identity 初值,增量 指定列為標識...