Ⅰ 有沒有在線sql語句查詢練習的平台
在線的我倒不知道,不過我知道用新浪sae隨便創建個應用(php的,免費),然後你就可以免費用裡面的雲資料庫了,當然也可以在線練習sql語句了。順便說一句,選應用倉庫千萬不要選git,新浪的git倉庫是巨坑啊!!當初我不小心選了git倉庫,現在吐血中。。
Ⅱ 如何在新浪雲sae上安裝部署laravel5.1應用並測試資料庫連接
1、創建SAE應用
首先進入新浪雲SAE界面 http://sae.sina.com.cn/ :
點擊「創建新應用」,在創建應用頁面填寫表單,開發語言選擇php 5.6,選中「空應用」,然後點擊「創建應用」:
這樣在管理應用列表新增了一個「Laravel SAE」應用:
接下來我們點擊「Laravel SAE」進入管理應用界面,選擇左側「代碼管理」鏈接上傳應用代碼:
我們選擇使用Git管理代碼,點擊「Git」按鈕,頁面跳轉到Git安裝指南頁面:
通過該頁面我們得知代碼倉庫是 https://git.sinacloud.com/laravelsae/ ,接下來我們就可以按照部署說明上傳代碼到SAE。
2、上傳Laravel項目代碼到SAE
這里我們選擇Github上一個現成的項目 laravel5-on-sae ,該項目針對SAE對Laravel 5.1代碼做了特定修改,我們下載其 項目包 並解壓到本地。進入解壓後的 laravel5-on-sae 目錄,刪除隱藏的文件夾 .git ,新建一個 config.yaml ,編輯其內容如下:
handle:
- rewrite: if (path ~ "^/$") goto "public/index.php"
- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "public/index.php/$1"
編輯 .gitignore 文件,移除第一行 /vendor (否則使用Git命令忽略該目錄,導致找不到/vendor/autoload.php而報錯)。
編輯 config/app.php ,移除 providers 數組中的如下這行:
App\Providers\ViewComponentServiceProvider::class,
編輯 app/Providers/EventServiceProvider.php 內容如下:
<?php
namespace App\Providers;
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
];
/**
* Register any other events for your application.
*
* @param \Illuminate\Contracts\Events\Dispatcher $events
* @return void
*/
public function boot(DispatcherContract $events)
{
parent::boot($events);
}
}
然後在 laravel5-on-sae 目錄下執行如下命令:
git init
git remote add sae https://git.sinacloud.com/laravelsae/
git add .
git commit -am 'laravelsae'
git push sae master:1
最後一條命令需要輸入的用戶名和密碼為安全郵箱和安全密碼,而不是微博賬號和密碼。如已啟用微盾動態密碼,則密碼應該是「安全密碼」+「微盾動態密碼」。
這樣我們就可以成功提交代碼到Laravel SAE應用。
在開始之前還需要在SAE中初始化Memcache,並且在Storage中新建一個域名為 laravel 的domain。
接下來我們在瀏覽器中訪問 http://laravelsae.sinaapp.com/laravel ,頁面顯示如下:
說明代碼部署成功!
3、測試資料庫連接
要在SAE上連接資料庫,首先我們需要點擊左側mysql初始化資料庫:
選擇「共享型MySQL」:
InnoDB目前只對企業開發,所以我們選擇MyISAM引擎,然後點擊初始化資料庫。初始化成功後頁面跳轉到MySQL管理頁面:
SAE中MySQL主機、埠、用戶名及密碼都用常量表示,我們在代碼中也要使用這些常量對資料庫進行設置,當然 laravel5-on-sae 這個項目已經為我們做好了設置,甚至配置了讀寫分離:
這里我去將 prefix 配置設置為 '' ,即不使用任何數據表前綴。
接下來我們對資料庫進行測試,還是在MySQL管理頁面我們點擊「管理MySQL」,頁面會跳轉到MySQL資料庫管理頁面,實際上是一個phpMyAdmin頁面:
在phpMyAdmin中我們創建一個數據表 posts 並插入兩條記錄:
接下來我們在項目代碼中 routes.php 新增一條路由:
Route::get('database/test','DbController@test');
然後創建控制器 DbController ,編輯其內容如下:
<?php
namespace App\Http\Controllers;
use DB;
class DbController extends Controller{
public function test(){
$posts = DB::table('posts')->get();
dd($posts);
}
}
然後提交該代碼到SAE項目:
git add .
git commit -m 'test'
git push sae master:1
在瀏覽器中訪問 http://laravelsae.sinaapp.com/database/test
Ⅲ 用sae怎麼把sqlserver2005資料庫也打包進去
右擊你現在的資料庫,選擇分離,分離的時候可以選擇路徑,默認路徑是C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
數據表全部都在data文件夾裡面了,你把這個文件夾復制到U盤,插到另一台電腦里,打開sqlserver2005,將你復制的data文件夾里的mdf文件附加(右擊有附加選項)到你的資料庫伺服器里就可以了。
Ⅳ 如何在新浪雲sae的web應用中配置資料庫mysql
進入雲應用的共享性mysql數據選項後,下方會出現如何連接mysql資料庫
點擊後會進入Mysql的API使用手冊,這里介紹了關於資料庫的一些預定義常量和一個使用其連接mysql的例子。然而,這並不是最方便的一個方法。
在新浪雲的Classes(我也不知道怎麼叫,簡稱classes)開發文檔中,有一個SaeMysql類。如圖,只需實例化SaeMysql類對象,不到20個字元即可完成資料庫連接。同時下方有同樣便利的函數來對資料庫進行各項常用操作。
下面我們使用Sublime Text來連接一次。
寫好代碼上傳到sae雲後,打開網頁。可以看到的確以多維數組的方式顯示了資料庫內的數據。
Ⅳ SAE的核心優勢
SAE的基本目標用戶有兩種,一種是Web開發者,另一種是普通互聯網上網人群。
對於Web開發者,SAE帶來的好處有:
·硬體成本更低,無需預先購買設備,承擔更大的投入風險
·開發成本更低,SAE提供許多服務供開發者使用,開發者無需重復開發,包括隊列、資料庫、緩存、定時、驗證碼、計數器,幾乎覆蓋了Web開發的所有領域。另外對於特定開放平台的開發者,比如WAP開發者,SAE已經集成了完整的OpenAPI的封裝,將開發者的開發成本降到最低。值得一提的是,SAE的開發者已經形成了良好的交流氛圍,在意見反饋中心、SAE官方群,SAE官方微群可以看到很多熱情的開發者在一起共同提高
·運維成本更低,在SAE上的應用無需關心硬體維護、服務監控、數據容災等操作,SAE會通過其高可靠的架構和方便的監控頁面為用戶將運維成本降到最低擴展性更強,在SAE上的服務無需關心服務壓力猛增時帶來的擴容等操作,SAE自動支持服務擴展
·更加安全可靠,SAE自動提供SQL語句性能分析、前端防攻擊、代碼檢查等功能,在SAE上的所有應用均為多機房容災部署,比傳統的部署模式更加安全可靠,並且SAE提供服務的SLA來實現對用戶服務質量的承諾
對於普通上網人群,使用SAE可以:
使用推薦應用一鍵安裝Web應用,普通用戶無需會編碼,也可以在瞬間擁有自己的團購、博客、微博、Wiki等。
Ⅵ 新浪雲SAE上傳SQL出現#1064 - You have an error in your SQL syntax
把DATETIME後面的括弧部分去掉吧
Ⅶ 新浪sae的mysql資料庫用戶名和密碼是什麼
我有現成的代碼。
$db['default']['hostname'] = sae_mysql_host_m;//主庫
$db['default']['hostname_s'] = sae_mysql_host_s;//從庫
$db['default']['username'] = sae_mysql_user;
$db['default']['password'] = sae_mysql_pass;
$db['default']['database'] = sae_mysql_db;
$db['default']['port'] = sae_mysql_port;用這些參數替代
Ⅷ 如何在SAE上架設RPC服務與Openresty的Lua服務通信
第1步:Openresty伺服器安裝和Lapis框架部署(此處只介紹Lapis的安裝)
a). 安裝luarocks。
sudo apt-get install luarocks
b). 通過luarocks安裝lapis框架。
sudo luarocks install lapis
第2步:用Lapis 創建Openresty工程.
lapis new
3.在Openresty中創建一個定時任務。
定時器的實現思想如下:
讓Openresty去載入一個lua腳本,腳本通過啟動一個timer設定,調用一個函數,在被調用的函數內部,循環遞歸的進行time設定,調用這個被周函數本身,利用這種周期性的調用事件,我們定時遞歸的函數體中,執行一個函數過程CallRPC()去通過RPC協議訪問SAE雲上的數據。
RPC介面定義與實現,在下面接下來的Django部分會詳細說明,下面就是提到的函數。此函數的主要的目的是6秒鍾的時間間隔,通過RPC協議,拉取SAE上Mysql資料庫里的數據,至於傳輸什麼數據是和你的業務直接相關的,我們此處就使用一個簡單的數據結構來說明問題。
local handler
function handler(premature, params)
--CallRPC就是Lua通過JSON.RPC訪問SAE的RPC伺服器。
CallRPC()
--遞歸的timer,重復調用handler函數。
local ok, err = ngx.timer.at(6, handler, "params-data")
ngx.log(ngx.DEBUG, "ok:", ok, " err:", err)
end
--第一次設定timer,調用hander函數。
local ok, err = ngx.timer.at(6, handler,"params-data")
ngx.log(ngx.DEBUG, "ok:", ok," err:", err)
--判斷第一次調用是否成功,如查不成功,把問題原因列印出來。
if not ok then
ngx.log(ngx.ERR, "err:", err)
end
創建SAE上的RPC服務:
完成創建工作需要五步:
1. 創建一個Django工程 。
2. 安裝RPC4Django。
3. .創建立資料庫表。
4. 實現RPC服務介面。
5. 啟動RPC服務。
我們先暫停Openresty的部分,先介紹如何在SAE構建RPC伺服器。
之前已經提過,構SAE上的RPC服務使用的是SAE的PYTHON服務,使用的也是SAE天然支持的Django框架。下面介紹的是創建一個Django工程,SAE天然支持 Django, Tornado, Flask框加。如果需要更多信息,請參考如下文章。
http://www.epubit.com.cn/article/143
伺服器端
第一步:創建一個Django工程 。
a). 創建工程。
django-admin.pystartproject testrpc
b). 在工程內創建APP。
pythonmanage.py startapp myrpc
兩格指令執行後,系統上建立如下的目錄結構。
這表明Djago已經成功能完成創建工程和APP。
第二步:安裝RPC4Django。
RPC服務主要靠的就是用RPC4Django來實現,rpc4django是一個開源項目,項目的地址如下:https://github.com/davidfischer/rpc4django
rpc4django也是一個Django的App,使用的話,只要在setting.py配置文件中引用即可。
修改testrpc文件夾中的setting.py文件,如下圖:
把rpc4django加入到工程安裝的APP的列表裡,這樣就可以像引用普APP一樣使用rpc4django了。
第三步.創建立資料庫表。
Django是MVC模式的Python框加,並且支持ORM,只要定一義一個Python的Model類,就可以同步生成資料庫表。
我們在myrpc文件夾下的models.py裡面加入表定義類,如下圖:
創建完Model模塊類後,需要同步一下DB,將Django根據類的定義生成對應的DB表格。
pythonmanage.py syncdb
如果之前安裝了SAE的本地運行環境的話,可能使用cloudsql.py 直接訪問遠端的SAE資料庫命令行。
第五步:啟動RPC服務。
經過以上四步,一個最簡單的SAE上的RPC服務就架設完了,讓我們啟到一個這個應用,然後RPC服務才可用。
Python manager.py runserver 127.0.0.1:8080
回到之前的Lua介紹,還剩下的步驟:
1.Lua調用 SAE上的RPC服務介面。
2.將返回的數據寫入Openresty的ShareDiction中。
3.使用Lapis模板系統,將返回結果顯示到網頁上。
Ⅸ SAE SQL怎麼設置
官網文檔裡面有的:
<?php
$mysql = new SaeMysql();
$sql = "SELECT * FROM `user` LIMIT 10";
$data = $mysql->getData( $sql );
$name = strip_tags( $_REQUEST['name'] );
$age = intval( $_REQUEST['age'] );
$sql = "INSERT INTO `user` ( `name` , `age` , `regtime` ) VALUES ( '" . $mysql->escape( $name ) . "' , '" . intval( $age ) . "' , NOW() ) ";
$mysql->runSql( $sql );
if( $mysql->errno() != 0 )
{
die( "Error:" . $mysql->errmsg() );
}
$mysql->closeDb();
?>