as3.0怎么连接mysql数据库为了使用简单,我做了一个简单的包装类(包含一个数据结构):
package com.easily.ds
{
public class DataBaseData
{
public var host:String;
public var port:int;
public var username:String;
public var password:String;
public var database:String;
}
}
package com.easily.util
{
import com.easily.ds.DataBaseData;
import com.maclema.mysql.Connection;
import com.maclema.mysql.Field;
import com.maclema.mysql.MySqlResponse;
import com.maclema.mysql.MySqlToken;
import com.maclema.mysql.ResultSet;
import com.maclema.mysql.Statement;
import flash.events.Event;
import flash.events.EventDispatcher;
import mx.rpc.AsyncResponder;
/**
* @author Easily
*/
public class DataBase extends EventDispatcher
{
private var mDataBase:DataBaseData;
private var mConnection:Connection;
public function DataBase(database:DataBaseData)
{
mDataBase = database;
}
public function connect():void
{
mConnection = new Connection(mDataBase.host, mDataBase.port,
mDataBase.username, mDataBase.password, mDataBase.database);
mConnection.addEventListener(Event.CONNECT, onConnected);
mConnection.connect();
function onConnected(event:Event):void
{
mConnection.removeEventListener(Event.CONNECT, onConnected);
dispatchEvent(event);
}
}
public function disconnect():void
{
mConnection.disconnect();
}
public function select(sql:String, completeHandler:Function, errorHandler:Function = null):void
{
var st:Statement = mConnection.createStatement();
var token:MySqlToken = st.executeQuery(sql);
var responder:AsyncResponder = new AsyncResponder(resultHandler, faultHandler, token);
token.addResponder(responder);
function resultHandler(result:Object/*ResultSet*/, token:Object/*MySqlToken*/):void
{
var data:Array = [];
if (result is ResultSet)
{
var fieldList:Array = result.getColumns();
while (result.next())
{
var item:Object = {};
for each (var field:Field in fieldList)
{
item[field.getName()] = result.getString(field.getName());
}
data.push(item);
}
}
completeHandler(data);
}
function faultHandler(info:Object, token:Object):void
{
if (errorHandler == null) return;
errorHandler();
}
}
public function insert(sql:String, completeHandler:Function, errorHandler:Function = null):void
{
var st:Statement = mConnection.createStatement();
var token:MySqlToken = st.executeQuery(sql);
var responder:AsyncResponder = new AsyncResponder(resultHandler, faultHandler, token);
token.addResponder(responder);
function resultHandler(result:Object/*MySqlResponse*/, token:Object/*MySqlToken*/):void
{
completeHandler(result.insertID);
}
function faultHandler(info:Object, token:Object):void
{
if (errorHandler == null) return;
errorHandler();
}
}
public function remove(sql:String, completeHandler:Function, errorHandler:Function = null):void
{
var st:Statement = mConnection.createStatement();
var token:MySqlToken = st.executeQuery(sql);
var responder:AsyncResponder = new AsyncResponder(resultHandler, faultHandler, token);
token.addResponder(responder);
function resultHandler(result:Object/*MySqlResponse*/, token:Object/*MySqlToken*/):void
{
completeHandler();
}
function faultHandler(info:Object, token:Object):void
{
if (errorHandler == null) return;
errorHandler();
}
}
}
}
其中有3个方法,select,insert,remove,分别对应了SQL语句中的select,insert,delete
用法很简单 , 先连接:
var databaseData:DataBaseData = https://www.04ip.com/post/new DataBaseData();
databaseData.host = "127.0.0.1";
databaseData.database = "game";
databaseData.password = "123456";
databaseData.port = 3306;
databaseData.username = "root";
var dataBase:DataBase = new DataBase(databaseData);
dataBase.addEventListener(Event.CONNECT, onConnected);
dataBase.connect();
function onConnected(event:Event):void
{
dataBase.removeEventListener(Event.CONNECT, onConnected);
dispatchEvent(new Event(Event.COMPLETE));
}
如果不需要用了可以先断开连接:
dataBase.disconnect();
下面是select语句:
var sql:String = "select id,name from `npc`";
dataBase.select(sql, endQuery);
function endQuery(data:Array):void
{
var npcList:Array=[];
for each (var item:Object in data)
{
var npc:Object = {id:item.id, name:item.name};
npcList.push(npc);
}
}
insert语句用法会返回一个insertID,也就是插入的那条数据的ID 。
SQL语言中AS关键字的用法如果sql语句中存在关键字,可以用反勾号(esc下面的那个键)做转义;
`
是
mysql
的转义符,避免和
mysql
的本身的关键字冲突 , 只要你不在列名、表名中使用
mysql
的保留字或中文,就不需要转义 。
所有的数据库都有类似的设置,不过mysql用的是`而已 。通常用来说明其中的内容是数据库名、表名、字段名,不是关键字 。例如:
select
from
from
table;
第一个from是字段名,最后的table表名 , 但是同时也是mysql关键字 , 这样执行的时候就会报错 , 所以应该使用
select
`from`
from
`table`;
当然,为了便于阅读,不建议使用关键字作为字段名、表名,同时 , 应该对数据库名、表名、字段名用一对儿反引号包含 。
请教一下mysql语句中的as怎么用as可理解为:用作、当成,作为;一般是重命名列名或者表名 。(主要为了查询方便)
(1)如:表text,列 column_1,column_2
你可以写成
selectcolumn_1as列1,column_2 as列2fromtext as表;
上面的语句可以解释为:选择 column_1作为列1,column_2 作为列2从 text当成表
(2)
select * from blog as B;
解析:查找所有blog 表里面的数据,并把blog表格命名为 B;
当你命名一个表之后 , 你可以在下面用 B 代替 blog;
select *from B;
.
mysql中 ,如何用 as 取别名? 谢谢大家?。。?/h2>比如:
1、selec name as “姓名” ,sex as "性别" from user
2、select u.name as “姓名”,o.name as "英文名" ,u.sex as "性别" from user u ,other o where u.id = o.id;
as不是给表里的字段取别名 , 而是给查询的结果字段取别名 。
其目的是让查询的结果展现更符合人们观看习惯,在多张表查询的时候可以直接的区别多张表的同名的字段 。
扩展资料:
SQL别名:
SQL别名用于为表或表中的列 提供临时名称 。
SQL别名通常用于使表名或列名更具可读性 。
SQL一个别名只存在于查询期间 。
别名使用AS关键字赋予 。
在下列情况下使用别名:
1 , 查询涉及多个表
2,用于查询函数
3 , 需要把两个或更多的列放在一起
4,列名长或可读性差
语法
1、表名的别名语法:
SELECT 列名
FROM 表名 AS 别名;
2、列名的别名语法:
SELECT 列名 AS 别名
FROM 表名
3、表名和列名的别名混合使用语法:
SELECT 列名 AS 别名
FROM 表名 AS 别名
语法举例
1、使用表名称别名
有两个表分别是:"Persons" 和 "Product_Orders" 。分别为它们指定别名 "p" 和 "po" 。列出 "John Adams" 的所有定单 。
SELECT po.OrderID, p.LastName, p.FirstName
FROM Persons AS p, Product_Orders AS po
WHERE p.LastName='Adams' AND p.FirstName='John';
2、使用列名称别名
查询 Persons 表中的 LastName 列 (为其定义别名 '姓氏')和 FirstName 列(为其定义别名 ‘名字’),输出所有结果值 。
SELECT LastName AS 姓氏, FirstName AS 名字
FROM Persons
mysql中on,in,as,where如何用,意思是什么?Where查询条件,on内外连接时候用,as作为别名,in查询某值是否在某条件里
【mysql怎么用as mysql怎么用命令创建数据库】关于mysql怎么用as和mysql怎么用命令创建数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 柠柠直播间录屏,直播间怎么播放录屏视频
- 我聘请了chatgpt健身教练,他请了一名健身教练,按小时支付报酬
- 什么手机游戏格斗比较好玩,什么手机游戏格斗比较好玩又好玩
- 韩国队拿游戏竞技公平奖,韩国游戏比赛
- java删除项目代码 java删除代码怎么写
- ubuntu启动oracle数据库,ubuntu安装oracle19c
- 电视游戏体育,电视游戏app排行榜
- 视频直播课程平台,视频直播培训平台
- python求平凡根函数 python求平方根函数