2017/07/29 13:00~
accessを使いこなしたく、sqlのドリルをしようと思い立った(昨日思いついた)
どうせならaccessの中途半端なsql画面ではなく、コマンドを次々とぶち込んでみたいと思った。
ならばデータベースをインストールしよう。
postgreSQLを先に入れてみたが、管理画面をどうやってインストールするのか情報がない。
やはりmysqlがメジャーなのだろう。ということでmysqlを検索しているとxamppにsqlが組み込まれていると。
何年か前にwordpressを使ってみたくてインストールしたことがあり、簡単だった記憶がある。
xamppをインストールした。管理画面が変わっている、と言うか無くなっている。
dos窓を開いて
cdをxampp¥mysql¥binにして
“mysql”+enter
最近のxamppはmysqlではなくmariaDBというデータベースが入っているが、実態はmysqlというなんとも。なんとかしろ。
まずユーザーでログインせんといけんらしい。
その前にパスワードを設定。ログイン。
DBの管理画面はphpmyadminにあるのでuserを見てみると、エラーで開けない。
MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください
ファイルはここに
テキストエディタで password ’’に上記設定したpassswordを記入・上書き
F5で更新で表示されました。
DOS窓に戻ってお勉強
show databases;
↑初期状態。
新規データベースを作ります。
create database test01;
use test01;
ここからはsql分をぶっこんでいけばいい
テーブルを追加(1個目)
create table customer(custname char,custtel char,custadress text,custdev text);
show tables from test01;
phpmyadminで確認してみる。ちゃんと出来てる。へへ
accessでリンクできるか確認
空のファイルを作成
↑できません
ドライバーをインストールしてない、するか
実は3.0が最新であった
もう22:00ねむくなってきた
↓インストール
もう一度access。出来てる
accessでリンクテーブル作るには罠が仕掛けてある。
win1064bit版、mariaDB64it版、office64bit版なのに、ドライバーは64ビット版ではだめらしい、ありえね。
odbcドライバー32ビット版をインストールすること
デーベースファイル名は日本語を使わないこと
死ね! ビルゲイツ
—————————————————————————————————————–
定義名
設定値
Data Source
ODBCドライバマネージャに登録するデータソース名を指定します。アプリケーションはここで指定した名前を選択してSymfoware Serverのデータベースに接続します。本パラメータは省略できません。
32バイト以内の以下の文字が指定できます。
-
各国語文字
-
英数字
-
“_”、“”、“+”、“`”、“|”、“~”、“’”、“&”、“””、“#”、“$”、“%”、“-”、“^”、“:”、“/”、“.”
Description
カレントのデータソースの補足の説明を指定します。255バイト以内の文字が指定できます。
-
各国語文字
-
英数字
Database
接続先のデータベース名を指定します。
SSLMode
通信を暗号化する場合に指定してください。デフォルトは無効に設定されています。
SSLModeの設定値は以下のとおりです。
-
disable:非SSLで接続します。
-
allow:非SSLで接続し、失敗したらSSLで接続します。
-
prefer:SSLで接続し、失敗したら非SSLで接続します。
-
require:必ずSSLで接続します。
-
verify-ca:SSLで接続し、信頼できるCAから発行された証明書を使用します。(注1)
-
verify-full:SSLで接続し、信頼できるCAから発行された証明書を使用してサーバのホスト名が証明書と一致するかを検証します。(注1)
Server
接続したいデータベースが存在するデータベースサーバのホスト名を18バイト以内で指定します。
本パラメータは省略できません。
Port
リモートアクセスで使用するポート番号を指定します。
デフォルト値は、26500です。
Username(注2)
データベースにアクセスするユーザーを指定します。
Password(注2)
データベースにアクセスするユーザーのパスワードを指定します。
注1) “verify-ca”または“verify-full”を指定する場合、CA証明書ファイルをOSのシステム環境変数PGSSLROOTCERTで以下のように指定してください。
例)
変数名:PGSSLROOTCERT 変数値:/root.crt
-----------------------------------------------------------------
別なサイトからも引用
Data Source Name
ODBC設定を呼び出す時の名前になります。そのため、何でも良いですが、わかりやすい名前を付けるのが良いでしょう。
Description
このODBC設定に関する説明文です。ODBCの名前だけでは、わかりにくい場合は補足で記載しましょう。必須ではありません。
TCP/IP Server, Port
一般的にはこちらの接続方法になると思います。対象となるサーバのIP Addressとポート番号を入力します。
Named Pipe
名前付きパイプ接続にする場合は、こちらを選択し、対象サーバの名前を入力します。
User
MySQLの対象データベースにアクセスするためのユーザーを入力します。
Password
MySQLの対象データベースにアクセスするためのパスワードを入力します。
Database
データベース名を選択します。ここで、データベースが選択できなければ、ここまでの入力内容に間違いがあると思いますので、確認をしましょう。
練習用のテスト環境を設定するのに2日掛けて出来ていないというビルゲイツのおぞましさ。 英語が不得意な罰でさあな ————————————————————————————– で別な問題。 じつはアクセスを管理者として実行しなくては出来ない。 access右クリック ファイルの場所を開く EXEの上で右クリック→ぽろぱてぃ 管理者として実行。以上。 くそたれなwindows10 パスワードの保存にチェックは入れない ?? アクセスから接続できた。準備は万端だ。 しかし データがdeleted?いやあります。 めんどくせー ——————————————————— sqlはxamppのphpmyadminからできる。 cusnameをchar(1)からTEXT型へ変更するクエリ ALTER TABLE `customer` CHANGE `custname` `custname` TEXT CHARACTER SET utf8 COLLATEutf8_unicode_ci NULL DEFAULT NULL; custelをTEXTに ALTER TABLE `customer` CHANGE `custtel` `custtel` TEXT CHARACTER SET utf8 COLLATEutf8_unicode_ci NULL DEFAULT NULL; ALTER TABLE `customer` CHANGE `custadress` `custadress` TEXT CHARACTER SET utf8COLLATE utf8_unicode_ci NULL DEFAULT NULL;
文字コードと検索
utf8_general_ci
アルファベットの大文字小文字は区別しない。他は全て区別。
utf8_unicode_ci
大文字小文字/全角半角を区別しない。 「AAA」で検索すると、半角アルファベット「AAA」、全角アルファベット「AAA」、半角アルファベット小文字「aaa」、全角アルファベット小文字「aaa」がマッチする。 「あああ」で検索すると、全角ひらがな「あああ」全角カタカナ「ァァァ」半角カタカナ「アアア」全角ひらがな小文字「ぁぁぁ」全角カタカナ小文字「ァァァ」がマッチする。 「2」で検索すると、半角数字「2」、全角数字「2」がマッチする。 ————————————————————————- MariaDB(=mysql)のフロントエンドを発見。というかいっぱいある中の一つをダウンロードした。 userとPWだけで簡単に接続できた。 使い方チンポンカンポンだが良さげだ。MSアクセスいらね? ————————————————————————————————————— 複数行データを追加する場合は下記のように記載します。
INSERT INTO user_table (id, name, memo, status) VALUES (1, 'test1', 'メモ', 1); INSERT INTO user_table (id, name, memo, status) VALUES (2, 'test2', 'メモ', 1); INSERT INTO user_table (id, name, memo, status) VALUES (3, 'test3', 'メモ', 1); INSERT INTO user_table (id, name, memo, status) VALUES (4, 'test4', 'メモ', 1);
複数レコードを1つのSQL文で実行する場合は
下記のようにカンマ区切りで記載します。
INSERT INTO user_table (id, name, memo, status) VALUES (1, 'test1', 'メモ', 1), (2, 'test2', 'メモ', 1), (3, 'test3', 'メモ', 1), (4, 'test4', 'メモ', 1);
コメント