首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > MySql之5.0使用心得
【标  题】:MySql之5.0使用心得
【关键字】:MySql,5.0
【来  源】:http://www.blogjava.net/hengheng123456789/archive/2007/01/10/92967.html

MySql之5.0使用心得

???前两天很是使用了一把MySql,版本是5.0.27,对字符集的设置、存储过程的建立、触发器的建立颇有心得,现与大家分享实例。

1、字符集的设置

???a、首先安装MySql5.0.27,注意!是setup安装,不是免安装版。(如何设置免安装版的字符集俺还不会)

???b、运行MySql Server Instance Configuration Wizard,在please select the default character set页面选择Menual Selected Default Character Set / Collation,并在Character Set:下拉框中选择gb2312(经测试,从MS SQL Server中导入中文字符是成功的。)

???c、然后启动MySql服务即可!

2、存储过程的建立

???a、为了方便执行sql语句,我建议安装MySQL GUI Tools 5.0的可视化工具,十分方便!

???b、打开MySQL GUI Tools 5.0的MySql Query Browser工具,连接localhost,用户名为root,密码为空。

???c、选择File-〉New Script Tab

???d、在Script 1的Tab页中输入以下语句,选择Execute按钮执行即可。

-- 建立数据库 sample ,并使用它
create database sample;
use sample;

-- 建立一个表

create table Msg (
? MsgServiceId??? ?integer,
? MsgTypeId?????? ?integer,
? MsgQueuedAt?? ?datetime,
? MsgParam1?????? ?varchar(60)? NULL,
? MsgId??? ?int NOT NULL auto_increment,?????????-- 自增
? PRIMARY KEY? (`MsgId`)??????????????????????????????-- 主键
)DEFAULT CHARSET=gb2312;????????????????????????-- 设置表的字符集

-- 建立索引

create unique index BCG_Msg_idx2 on Msg ( MsgTypeId,? MsgId );

-- 建立存储过程

DELIMITER |? --必须有此句

CREATE PROCEDURE BCG_QueueMsg
?? (
???? in v_MsgServiceName varchar(30),
???? in v_MsgParam1????? varchar(60)
?? )
BEGIN
????? DECLARE v_MsgTypeId integer;
????? DECLARE v_QueuedAt? timestamp;
????? set v_QueuedAt = now();
????? SELECT MsgServiceId INTO v_MsgServiceId FROM BCG_MsgService where MsgServiceName=v_MsgServiceName;
????? INSERT INTO Msg (
??????? MsgTypeId,
??????? MsgQueuedAt,?
??????? MsgParam1
????? )
????? VALUES (
????????v_MsgTypeId,
??????? v_QueuedAt,?
??????? v_MsgParam1
????? );
END;
|
DELIMITER ;


3、触发器的建立

???a、选择File-〉New Script Tab

???b、在Script 2的Tab页中输入以下语句,选择Execute按钮执行即可。

-- 使用sample数据库
use sample;

-- 建立测试表

CREATE TABLE Orders (
?OrderID int NOT NULL auto_increment ,
?CustomerID nchar (5)? NULL ,
?EmployeeID int NULL ,
?OrderDate datetime NULL ,
?RequiredDate datetime NULL ,
?ShippedDate datetime NULL ,
?ShipVia int NULL ,
?Freight float NULL ,
?ShipName nvarchar (40) NULL ,
?ShipAddress nvarchar (60)? NULL ,
?ShipCity nvarchar (15)? NULL ,
?ShipRegion nvarchar (15)? NULL ,
?ShipPostalCode nvarchar (10)?? NULL ,
?ShipCountry nvarchar (15)?? NULL,
? PRIMARY KEY? (`OrderID`)
)DEFAULT CHARSET = gb2312;

-- 建立触发器 TESTDBINSERT? ,当有记录插入表时,同时插入Msg表一条记录

DELIMITER |
CREATE TRIGGER TESTDBINSERT? AFTER? INSERT ON ORDERS
FOR EACH ROW
BEGIN
??? -- 把新插入orders表中新记录的OrderID字段的值赋给ID,NEW表示当前插入的记录项内容
??? SET @ID = NEW.OrderID;?

??? -- 获得当前时间
??? SET @v_QueuedAt = NOW();

??? -- 把以上得到的值插入Msg表中
??? INSERT INTO Msg (
??????? MsgTypeId,
??????? MsgQueuedAt,?
??????? MsgParam1
??? ) VALUES (
??????? 1,
??????? @v_QueuedAt,?
??????? @ID
??? );
END;
|
DELIMITER ;

???c、这时在表orders中插入一条记录,则Msg表中也增加一条记录。

最后说明MySQL GUI Tools 5.0是一个十分好用的工具,还有可以从其他数据库中导入数据的GUI工具,希望大家多多研究。

JDK6.0的新特性:轻量级Http Server:【上一篇】
Spring Quartz如何动态配置时间(3):【下一篇】
【相关文章】
  • php读取mysql记录
  • 超级简单但超级实用的 PHP 的 mysql 类
  • 使用 MySQL 开始 PHP 会话
  • 如何导入导出MySQL数据库
  • postfix 使用 mysql
  • mysql中文乱码,phpmyadmin乱码,php乱码产生原因及其解决方法
  • linux 下mysql多线程支持问题
  • mysql数据库操作
  • MySQL5.0的三种数据类型:DATETIME, DATE和TIMESTAMP的使用
  • 教你编写高质量 高性能的MySQL语法
  • 【随机文章】
  • 实现 Eclipse 中英文界面快速切换
  • 理解 DB2 Universal Database的字符转换
  • 编译安装module-init-tools时出错的解决方法。
  • 结构化查询语言SQL
  • 用Vc6编译GuitoolKit
  • do_mount.c
  • 随机数加密算法在并行机上实现
  • 今天不是VS2005和SQL 2005在中国的正式发布日期吗?
  • swing中在JTextPane中的输入窗口出现乱码的问题
  • 用JavaScript提交和控制隐藏域
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.