2004/05/13 3-4 データ型(カラムタイプ) について 発表者:藤村元彦 自然言語処理研究室.

Slides:



Advertisements
Similar presentations
Jw_cad 基本操作( 5 ) 文字入力 2011/11/23 SystemKOMACO Jw_cad 基本操作( 5 ) Ver.1 1.
Advertisements

オブジェクト指向言語・ オブジェクト指向言語演習 中間試験回答例. Jan. 12, 2005 情報処理技術基礎演習 II 2 オブジェクト指向言語 中間試験解説 1  (1) 円柱の体積(円柱の体積 = 底面の円の面積 x 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
【事例演習5】  字句解析     解 説  “ハッシュを用いた字句解析の方法”.
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
SQLite3
インターネット技術特論 H:SQLite3 山口 実靖
情報理工学部 情報システム工学科 ラシキアゼミ 3年 H 井奈波 和也
PostGIS - 1 (入門編).
SQL データベースアクセスのための文法と MySQL
知的システム構築工房   Linux設定セミナーシリーズ 第6回 MySQL設定 2011年3月17日(木) 株式会社 アセンディア 1.
情報処理演習C2 ファイル操作について (2).
プログラミング言語としてのR 情報知能学科 白井 英俊.
3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室.
MySQLに接続するデータベースプログラム
Excel による データベース入門 Ver /9.
コントロールパネル ◎コントロール パネル: コンピュータのさまざまな機能を設定するための画面
talend活用事例 ・ナビゲータグラフのカスタマイズにおける事例 ・CSVダウンロードでのカスタマイズ事例
第2章 数値の入力と変数 scanfと変数をやります.
6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
コントロールパネル ◎コントロール パネル: コンピュータのさまざまな機能を設定するための画面
SQL J2EE I 第3回 /
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟.
プログラミング演習II 2004年12月 21日(第8回) 理学部数学科・木村巌.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
情報処理1~第12回~ 野中良哲.
データベース基礎 2016年3月10日 JWord株式会社 サービス開発部 中川 陽平.
「ユーザー設定リスト」の作成と削除 ◎ 新しい「リスト」の作成法
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
3-10. MySQLシステムの管理  2004年6月10日  大北高広                01T6010F.
第1回.リレーショナルデータベースを使ってみよう
第1回.リレーショナルデータベースを使ってみよう
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
余談 ドラクエのパラメーターの上限、マリオの残機など、255が多く、 ドラクエの経験値の上限などに65535が出てくるワケ 1.コンピュータは2進数で動く。 例:2進数 = 10進数173 2.16進数1桁(0~9, A, B, ~F)が2進数4桁に対応する。 例.
エクセル(6)の目次 「ユーザー設定リスト」の作成と削除 「入力規則」での「リスト」 ユーザー定義による表示形式
ソフトウェア制作論 平成30年10月3日.
09 06/23 PHP と SQL (MySQL) の連携 その1
3-6.インデックスについて 3-7.関数と併用されることの 多いMySQLコマンド
3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟.
「Webデータベースの構築技術」正誤表 ページ 項目 誤記 訂正 18 表1.4 アクセス 権限の削除 ・・・テーブル名 TO ユーザ名
Excel 2002,2003基本12 情報関数.
講義ノート共有データベース NoteTotter?
P n ポインタの基礎 5 q m 5 7 int* p; int 型の変数を指すポインタ int* q; int 型の変数を指すポインタ int n=5, m=7; int 型の変数 int array[3]; int* pArray[3]; p = &n; ポインタにアドレスを代入しているのでOK.
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
情報処理Ⅱ 第2回:2003年10月14日(火).
3-8・関数を使ってデータを取り出す   2004年6月3日(木) 01T6010F               大北高広.
3.リレーショナルデータベース,主キー, SQL
C言語 はじめに 2016年 吉田研究室.
プログラミング基礎a 第6回 C言語によるプログラミング入門 配列と文字列(その2)
統計ソフトウエアRの基礎.
Excel 2002,2003基本11 時間と日付を扱う.
再帰CTE を使って遊ぼう 大阪#9 2012/04/14.
関係データベースとSQL MZ Platform講習会(上級).
高度プログラミング演習 (11).
09 06/23 PHP と SQL (MySQL) の連携 その3
プログラミング 4 文字列.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
C言語プログラミング・課題 ファイルを読み込んで、その内容を表示するプログラムを作成せよ。
SQL J2EE I (データベース論) 第3回 /
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
クリエイティブ リサーチ 2019/05/20 日本工学院八王子専門学校 M.Katsube.
SQL データベース論 第11回.
第3回Bashゼミ for文処理について 発表者 直江 宗紀.
Presentation transcript:

2004/05/13 3-4 データ型(カラムタイプ) について 発表者:藤村元彦 自然言語処理研究室

指定のデータ型と違うデータを入力した場合 データ型が文字列型のカラムに数値データを入れることは可能だが、計算や検索がうまく行われない。また、数値型のカラムに文字列を入れようとすると、自動的にゼロが代入される。 次の例は、4つ目のレコードの数値型カラムAGE_Cに文字列を代入した場合である。

型の違うデータの入力例 mysql> insert into FRIENDS_T set ID_C = 4, AGE_C = "大阪"; Query OK, 1 row affected (0.00 sec) mysql> select * from FRIENDS_T; +------+----------+---------------------------+-------+ | ID_C | NAME_C | ADD_C | AGE_C | | 1 | 大友達子 | 東京都千代田区何処町1-1-1 | 23 | | 2 | 小友達夫 | 東京都葛飾区何処町1-1-1 | 45 | | 3 | 友田知香 | 青森県青森市何処町2-2-2 | 17 | | 4 | NULL | NULL | 0 | 4 rows in set (0.00 sec)

データ型の自動変更 MySQLでは、指定されたデータの種類によってカラムの型が自動的に変化することがある。例えば、4文字以上のchar型はvarchar型に、3文字以下のvarchar型はchar型に変更される。 また、timestamp型では、2から14までの偶数をサイズとして指定するが、0や14を超える値の場合は自動的に14になる。奇数の場合は、一つ大きな値がサイズとなる。

enumとsetの使い方 enum型、set型は、型の定義時にリストで指定したデータ以外は入力できない。以下の例では、カラムに入力可能なデータのリストをenum型で定義し、そこにリストにないデータや、リストにある2つ以上データを入力しようとした場合で、その場合はエラーとなる。 mysql> create table TEST_ENUM(ORDER_NO int,PC_GOODS -> enum(“モニタカバー”,“マウスパッド”,“FDケース”,   -> “スピーカ”)); Query OK, 0 rows affected (0.03 sec)

enumとsetの使い方の続き mysql> insert into TEST_ENUM(ORDER_NO,PC_GOODS) -> values(1,‘マウスパッド’),(2,‘スピーカ’ ), -> (3,‘FDケース’),(4,‘スピーカ,マウスパッド,スピーカ’ ), -> (5,'ケーブル' ; Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 2 mysql> select * from TEST_ENUM; +----------+--------------+ | ORDER_NO | PC_GOODS | | 1 | マウスパッド | | 2 | スピーカ | | 3 | FDケース | | 4 | | | 5 | | 5 rows in set (0.00 sec)

日付型データ 日付型データは、文字列型や数値型についでよく使われるデータ型である。日付型のデータは、yyyy-mm-ddの型(4桁の西暦年、2桁の月と日)で格納され、次のように、カラムのデータ型として「date」と指定する。 mysql> create table -> DATE_T(ID int auto_increment not null -> primary key,BIRTHDAY date); Query OK, 0 rows affected (0.01 sec)

日付型データの入力例 mysql> insert into DATE_T set BIRTHDAY = "1999-01-01"; Query OK, 1 row affected (0.01 sec) mysql> insert into DATE_T set BIRTHDAY = "19800125"; Query OK, 1 row affected (0.00 sec) mysql> insert into DATE_T set BIRTHDAY = "2000/02/06"; mysql> select * from DATE_T; +----+------------+ | ID | BIRTHDAY | | 1 | 1999-01-01 | | 2 | 1980-01-25 | | 3 | 2000-02-06 | 3 rows in set (0.00 sec)

日付型データの入力方法 以上のように日付型データは、「/」で区切ったり、区切りがなくても入力可能である。 また、西暦を2桁で入力すると、4桁に変換されて登録される。MySQL3.22以降のバージョンでは1901~2155までの数値が年として自動判断されるので、意図しない変換を避けるためにも、西暦は4桁で入力するべきである。

不正な日付型データ なお、米国などで使われているmm-dd-yyyy型には対応しておらず、入力しても0000-00-00となる。 mysql> insert into DATE_T set BIRTHDAY = "06/25/1980"; Query OK, 1 row affected (0.00 sec) mysql> select * from DATE_T; +----+------------+ | ID | BIRTHDAY | | 1 | 1999-01-01 | | 2 | 1980-01-25 | | 3 | 2000-02-06 | | 4 | 0000-00-00 | 4 rows in set (0.00 sec)

日付関数による日付の操作 date_format()関数を使うと、既定の形式以外でも表示することなら可能である。 mysql> select date_format(BIRTHDAY,"%m %d,%y") from DATE_T; +----------------------------------+ | date_format(BIRTHDAY,"%m %d,%y") | | 01 01,99 | | 01 25,80 | | 02 06,00 | 3 rows in set (0.00 sec)

date_format()の西暦4桁表示 西暦を4桁表示にするには、%yを%Yと大文字にする。 mysql> select date_format(BIRTHDAY,"%m %d,%Y") from DATE_T; +----------------------------------+ | date_format(BIRTHDAY,"%m %d,%Y") | | 01 01,1999 | | 01 25,1980 | | 02 06,2000 | 3 rows in set (0.00 sec)

現在の日付と時間 現在の日付を知るにはcurdate関数、現在の時刻を知るにはcurtime関数を使う。 現在日時: mysql> select curdate(); 現在時刻: mysql> select curtime();

年のみを表示する関数:year() 誕生日と現在日時から歳を調べるには、日付から年のみを取り出すyear()関数を使って計算する。 mysql> select year(curdate()) - year(BIRTHDAY), -> BIRTHDAY from DATE_T; +----------------------------------+------------+ | year(curdate()) - year(BIRTHDAY) | BIRTHDAY | | 5 | 1999-01-01 | | 24 | 1980-01-25 | | 4 | 2000-02-06 | 3 rows in set (0.02 sec)

期間を定義:date_add() 以下の例は、REGISTRATIONという登録日カラムを持つテーブルから、1年半有効のカードなどが無効になる日を計算したものである。 mysql> select REGISTRATION, -> date_add(REGISTRATION,interval 18 month) as -> “失効日” from DATE_T; +--------------+------------+ | REGISTRATION | 失効日 | | 1999-01-01 | 2000-07-01 | | 1980-01-25 | 1981-07-25 | | 2000-02-06 | 2001-08-06 | 3 rows in set (0.00 sec)