blog/content/post/1970-01-01-00000012.md
2019-03-31 19:00:21 +08:00

128 lines
6.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: SQLについてのメモ
author: kazu634
date: 1969-12-31
url: /1970/01/01/_12/
wordtwit_post_info:
- 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:4053;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}'
categories:
- mysql
- SQL
---
<div class="section">
<p>
 自宅で勉強できるようにSQLについて調べる調べる。
</p>
<h4>
MySQLの起動
</h4>
<blockquote title="MacPortsを使ってMacにMySQLをインストール - 佐藤伸吾%28akio0911%29のgeek気取り日記" cite="http://d.hatena.ne.jp/akio0911/20080318/1205838594">
<p>
sudo /opt/local/share/mysql5/mysql/mysql.server start
</p>
<p>
<cite><a href="http://d.hatena.ne.jp/akio0911/20080318/1205838594" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/akio0911/20080318/1205838594', 'MacPortsを使ってMacにMySQLをインストール &#8211; 佐藤伸吾%28akio0911%29のgeek気取り日記');" target="_blank">MacPortsを使ってMacにMySQLをインストール &#8211; 佐藤伸吾%28akio0911%29のgeek気取り日記</a></cite>
</p>
</blockquote>
<h4>
データベース名を調べる
</h4>
<blockquote title="MySQLのデータベース作成とユーザー作成" cite="http://y-kit.jp/saba/xp/mysqluser.htm">
<p>
mysql> show databases;
</p>
<p>
<cite><a href="http://y-kit.jp/saba/xp/mysqluser.htm" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://y-kit.jp/saba/xp/mysqluser.htm', 'MySQLのデータベース作成とユーザー作成');" target="_blank">MySQLのデータベース作成とユーザー作成</a></cite>
</p>
</blockquote>
<p>
これをしてから「use データベース名」をすればデータベースを使えるようになるよ。ここから容易に推測できたんだけど、テーブル名を調べるのは「show tables」だった。
</p>
<h4>
主キーの設定
</h4>
<blockquote title="SQL 主キー" cite="http://sql.1keydata.com/jp/sql-primary-key.php">
<p>
CREATE TABLE Customer
</p>
<p>
(SID integer,
</p>
<p>
Last_Name varchar(30),
</p>
<p>
First_Name varchar(30),
</p>
<p>
PRIMARY KEY (SID)
</p>
<p>
);
</p>
<p>
<cite><a href="http://sql.1keydata.com/jp/sql-primary-key.php" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://sql.1keydata.com/jp/sql-primary-key.php', 'SQL 主キー');" target="_blank">SQL 主キー</a></cite>
</p>
</blockquote>
<p>
SQLでテーブルを生成するPerlスクリプトを作っている。うでも、こったことをしていないので単純なデータベースになりそう。こんな感じ。
</p>
<pre class="syntax-highlight">
<span class="synStatement">use strict</span>;
<span class="synStatement">use warnings</span>;
<span class="synComment"># テーブルの名前</span>
<span class="synStatement">my</span> <span class="synIdentifier">$t_name</span> = <span class="synConstant">&#34;OFFICE&#34;</span>;
<span class="synComment"># テーブルの作成</span>
<span class="synStatement">print</span> (<span class="synConstant">&#34;CREATE TABLE &#34;</span>, <span class="synIdentifier">$t_name</span>, <span class="synConstant">&#34;</span><span class="synSpecial">\n</span><span class="synConstant">&#34;</span>);
<span class="synStatement">print</span> (<span class="synConstant">&#34;(</span><span class="synSpecial">\n</span><span class="synConstant">&#34;</span>);
<span class="synComment"># == ここから属性名の設定 ==</span>
<span class="synStatement">print</span> (<span class="synConstant">&#34; office_code INT(5),</span><span class="synSpecial">\n</span><span class="synConstant">&#34;</span>);
<span class="synStatement">print</span> (<span class="synConstant">&#34; office_name CHAR(9)</span><span class="synSpecial">\n</span><span class="synConstant">&#34;</span>);
<span class="synComment"># == ここまで属性名の設定 ==</span>
<span class="synStatement">print</span> (<span class="synConstant">&#34;);&#34;</span>);
<span class="synStatement">print</span> (<span class="synConstant">&#34;</span><span class="synSpecial">\n</span><span class="synConstant">&#34;</span>);
<span class="synComment"># 適当に変更させたいものを列挙させた配列</span>
<span class="synStatement">my</span> <span class="synIdentifier">@array</span> = (<span class="synConstant">&#34;Tokyo&#34;</span>, <span class="synConstant">&#34;Osaka&#34;</span>, <span class="synConstant">&#34;Yokohama&#34;</span>, <span class="synConstant">&#34;Sendai&#34;</span>, <span class="synConstant">&#34;Fukuoka&#34;</span>);
<span class="synComment"># 面倒くさいのでインクリメントする変数</span>
<span class="synStatement">my</span> <span class="synIdentifier">$i</span> = <span class="synConstant">1</span>;
<span class="synStatement">foreach</span> (<span class="synIdentifier">@array</span>) {
<span class="synStatement">print</span> (<span class="synConstant">&#34;INSERT INTO &#34;</span>, <span class="synIdentifier">$t_name</span>);
<span class="synStatement">print</span> (<span class="synConstant">&#34;VALUES (&#34;</span>);
<span class="synComment"># == ここからvalueの追加</span>
<span class="synStatement">print</span> (<span class="synConstant">&#34;00&#34;</span>, <span class="synIdentifier">$i</span>, <span class="synConstant">&#34;, '&#34;</span>, <span class="synIdentifier">$_</span>, <span class="synConstant">&#34;'&#34;</span>);
<span class="synComment"># == ここまでvalueの追加</span>
<span class="synStatement">print</span> (<span class="synConstant">&#34;);</span><span class="synSpecial">\n</span><span class="synConstant">&#34;</span>);
<span class="synIdentifier">$i</span>++;
}
</pre>
<p>
Perlの配列は
</p>
<pre class="syntax-highlight">
<span class="synIdentifier">@array</span> = (<span class="synConstant">1</span>, <span class="synConstant">2</span>, <span class="synConstant">3</span>, <span class="synConstant">4</span>, <span class="synConstant">5</span>);
</pre>
<p>
でしたね。「{}」だと勘違いした。
</p>
</div>