Ⅰ 有没有在线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();
?>