MySQL 5.0 의 새로운 기능에 대해서 조금씩 살펴보겠습니다.
하루에 한시간씩 정리해서 올려 놓도록 노력해보겠습니다.
본 내용은 http://mysql.gilfster.com 에서 발취한 내용입니다.
보다 많은 정보는 http://mysql.gilfster.com/ 에서 참조하시기 바랍니다.
개발환경
OS : Windows 2003
DB : MySQL 5.0.11
사양 : 팬티엄 4 CPU 3.00GHZ, 1.0 GB RAM
모든샘플링은 직접 커멘트에서 작성하기 때문에 바로 Copy 하셔서 사용하셔도 무방하실거라 생각됩니다.
----------
----------
사이에 코드는 직접 카피하셔도 되는 코드들입니다.
Test 데이타를 샘플링 하기 위해서 데이타베이스를 생성하고 테이블을 만든 후에 함수를 생성해 보겠습니다.
-----------------------------------------------------------------------------------
DELIMITER //
drop database if exists pers
//
create database pers
//
use pers
//
create table emps(emp_id int NOT NULL,
emp_name varchar(30),
dept_id int,
salary decimal(5,2),
primary key(emp_id))
//
insert into emps (emp_id,emp_name,dept_id,salary)
values (1,'Roger',1,2000.00),(2,'John',2,2500.00),(3,'Alan',1,2100.00)
//
select * from emps
//
create table dept (dept_id int NOT NULL,
description varchar(30),
primary key(dept_id))
//
insert into dept (dept_id,description)
values (1,'Information Technology'),(2,'Sales')
//
select * from dept
//
-----------------------------------------------------------------------------------
mysql> select * from dept //
+---------+------------------------+
| dept_id | description |
+---------+------------------------+
| 1 | Information Technology |
| 2 | Sales |
+---------+------------------------+
2 rows in set (0.00 sec)
위와 같은 내용이 나타나면 됩니다.
데이타베이스 pers 와 테이블 emps , dept 를 만들었습니다.
MySQL 5.0 이후 부터 delimiter 라는것이 생겼는데, 이것은 그전 버전에서 ; 로 명령을 분리했던것과는 차별을 두기 위해 만든것입니다.
위에 코드에서 보듯이
select * from dept //
라는 명령을 쳐야 실행되는걸 볼수 있는거 처럼 사용자가 구분자를 직접 지정할수 있습니다.
예를 들면
mysql> delimiter $$
mysql> select 'hello' $$
+-------+
| hello |
+-------+
| hello |
+-------+
1 row in set (0.00 sec)
이제 첫번째로 function 을 만들어 보겠습니다.
------------------------------
delimiter //
create function helloworld() returns varchar(20)
return "Hello World" //
-------------------------------
Query OK, 0 rows affected (0.00 sec)
함수를 처음으로 생성하였습니다. 이제 이 생성한 helloworld 함수를 호출해 보겠습니다.
mysql> select helloworld() //
+--------------+
| helloworld() |
+--------------+
| Hello World |
+--------------+
1 row in set (0.00 sec)
처음으로 글을 쓰는거라 잘 이해가 가지 않더라도 차차 좋아질거라 생각합니다.
다음에 다시 글 쓰겠습니다.
참조 : http://mysql.gilfster.com/page.php?parent_id=1.1&page_id=1.1.2
SQLGate Development Team
http://www.antwiz.com
Blog : http://isql.blogspot.com/
|