約 3,764,898 件
https://w.atwiki.jp/nicepaper/pages/111.html
PHPからMySQLへ大量のデータ(フィールド)挿入をしていく方法について記載していきます。フィールドの内容や数は決まっている時に、UPDATE文を使って、その内容を更新していきたいという場合どうすれば効率的かを書いていきます。まずはINSERT文からです。6月28日記事 目次 色々方法があります。 ExcelでCSVファイルを作り、phpMyAdminを使ってCSVファイルを挿入 CSVファイルを読み込んで配列に入れて挿入 PHP等でINSERTクエリを作り、データをループで作っていき、SQL文を発行する。 PHPでINSERTクエリを作る テーブル作成 データ挿入用PHP 色々方法があります。 ExcelでCSVファイルを作り、phpMyAdminを使ってCSVファイルを挿入 Excelでオートフィルを使って、大量にデータ(フィールド)を作りそれをアップロードすることでできます。 CSVファイルを読み込んで配列に入れて挿入 Excelでオートフィルを使って、大量にデータを作り、それをPHPでファイルを読み込ませたりして、クエリを投げる PHP等でINSERTクエリを作り、データをループで作っていき、SQL文を発行する。 これが楽だと思います。文字コードもあまり気にせずできると思います。 PHPでINSERTクエリを作る テーブル作成 SQL文 mysql CREATE TABLE table_name ( id INT NOT NULL AUTO_INCREMENT, column1 TEXT NOT NULL default , column2 TEXT NOT NULL default , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=ujis AUTO_INCREMENT=0; データ挿入用PHP PHP ?php print INSERT INTO table_name( column1,column2 ) values br ; for($i = 1; $i 200; $i++){ print "( カラム1名".$i." , カラム2名".$i." )"; if($i 199)print ", br "; } print ";"; ? あとはこの内容を貼り付けていけば大量挿入がすぐできます。 以上
https://w.atwiki.jp/web0609/pages/91.html
PHPとHTMLを分離させてれるSmartyですが、各ページごとにヘッダ・フッタなど共通部分を記述していると、変更がかかった時にすべてのファイルを変更するのはめんどくさい! そこで、ヘッダやフッタ・共通メニューは一つにして、そのテンプレートを読み込んで表示した方が、効率的ですね! SSI的な考え方ですが、ヘッダ.tplとフッタ.tplをインクルードで読み込ませるだけで修正がかなり楽になります。 でもこれって....smartyでなくても使えますね...... 他にもいろいろな方法があるので詳しくは下記サイトでw http //www.streetcar.jp/blog/index.php?e=645
https://w.atwiki.jp/suffix/pages/12.html
Cygwin(C++) MySQL設定メモ 1.Cygwinをインストール 2.Cygwinの直下にMySQLをインストール http //dev.mysql.com/downloads/からMySQLをダウンロード Compressed GNU TAR archive (tar.gz)からソースをダウンロード。 INSTALL_SOURCEを参照の上、./configure→make→make installの流れでインストールする。 CygwinではMySQLユーザを追加できないため、コントロールパネルからユーザーアカウントを作る。 Cygwin/etc/passwdの2番目の数字にグループID、Cygwin/etc/groupから同じ番号を見つけて 名前を調べる。無ければ、etc/groupにviで最後の一行にmysql S- - - -番号 番号を追加する。 さらにetc/my.cnfのlogbin=の行をコメントアウトする。 メモ:Cygwinにはuseraddもgroupaddも存在しない。また、WindowsとCygwinの環境の違いから User名Administratorをrootに変更する必要がある。 http //www.yc.musashi-tech.ac.jp/~yamada/doc/cygwin/0102.html 3.http //tangentsoft.net/mysql++/からMySQL++用のソースコードをダウンロード。 C \Cygwin\home\とか適当に。それをCygwin上で実行する (ここでも./configure- 以下略) 4.コンパイル時 g++ ~~~.cpp -L/usr/~以下mysqlがあるとこまでのパス -lmysqlclient -lz(compress関数等でundefined時) 関連: Apache,MySQLの起動
https://w.atwiki.jp/gonjoukk/pages/21.html
このページのメモ内容は、 centOS上での設定方法である 既にデフォルトのsqliteでアプリケーションが作成されているものを、mysqlへ変更する場合である ①Gemfileを変更 gem sqlite3 → gem mysql2 ②database.ymlの内容を変更 アプリ名/config/database.yml default default adapter mysql2 encoding utf8 pool 5 username root password # - mysqlインストール時に設定したパスワード 例 1 socket /var/lib/mysql/mysql.sock development *default database asago_development #アプリ名_development test *default database asago_test #アプリ名_test production *default database asago_production #アプリ名_production username asago #アプリ名 password %= ENV[ TESTMYSQL_DATABASE_PASSWORD ] % ③データベースを作成 $ rake db create ④作成されているマイグレーションを実行 $ rake db migrate
https://w.atwiki.jp/libjo/pages/19.html
実行環境・開発環境 OS CentOS(だっけ?) サーバ Apache (1? 2?) 言語 PHP5 DBMS MySQL DB取扱い支援ツール PDO デザイン管理支援ツール Smarty バックアップツール Subversion Linuxのディストリビューションアンケート 選択肢 投票 Debian (2) CentOS (3) Fedora (1) SUSE (3) ファイル構成 →ファイル構成 データベース設計 →データベース設計 コーディング方針 →コーディング方針 多分 使用するディストリ-ビューションが決まっていなかったのでアンケート作って置きました -- masayuki (2008-09-29 06 02 55) 名前 コメント
https://w.atwiki.jp/myoss/pages/37.html
WebSphereはMySQLに標準で対応していないので、"User-defined JDBC Provider"を使って設定を行う必要がある. 【JDBCプロバイダーリスト】 データベースタイプ: ユーザー定義 JDBCプロバイダータイプ: User-defined JDBC Provider 実装クラス名: com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource 【データソースの設定】 データソースのhelperクラス名:com.ibm.websphere.rsadapter.GenericDataStoreHelper ※GenericDataStoreHelperを使用 XAを使う場合には実装クラス名を以下に設定する. com.mysql.jdbc.jdbc2.optional.MysqlXADataSource 名前 コメント
https://w.atwiki.jp/sanosoft/pages/189.html
MySQL 8.0のインストール【CentOS 7】 MySQL8.0をインストールします。 1. miriadb-libs5.5のアンインストール miriadb-libsの旧バージョンがインストールされていたら、削除します。 # rpm -qa | grep -i "mariadb" mariadb-libs-5.5.44-1.el7_1.x86_64 # yum remove mariadb-libs ※依存性関連で「postfix」も削除されてしまうので、MariaDBインストール後に再インストールして下さい。 2. インストール (1) MySQL 8.0 yumのリポジトリの追加登録方法 (CentOS 7)で「3. MySQL」のリポジトリを追加して、MySQLの8.0をインストールします。 # yum --enablerepo=mysql80-community install mysql-community-server (2) postfix postfixの再インストールを行います。 # yum install postfix # systemctl start postfix.service # systemctl enable postfix.service 3. MySQLの設定 (1) DBの初期化 DBの初期化を行います。 # mysqld --initialize --user=mysql --datadir=/var/lib/mysql このコマンドで初期化を行うと、初期ユーザとして「root@localhost」が作成されます。 また、初期パスワードが「/var/log/mysqld.log」に書き込まれます。 ちなみに「mysqld --initialize-insecure」とすると、パスワードは空となります。 (2) rootパスワードの変更 初期パスワードでログインすることはできますが、そのまま使い続けようとすると、 ERROR 1820 (HY000) You must reset your password using ALTER USER statement before executing this statement. というエラーが表示されるので、パスワードを変更します。 mysql ALTER USER root @ localhost IDENTIFIED BY (パスワード) ; ついでにパスワードの有効期限のデフォルトが無期限であることを確認します。 mysql SELECT @@default_password_lifetime; +-----------------------------+ | @@default_password_lifetime | +-----------------------------+ | 0 | +-----------------------------+ (3) /etc/my.cnfの設定 ■旧MySQLの認証プラグインを使用(コメントを外す) default-authentication-plugin=mysql_native_password (4) MySQLの起動 設定が完了したら、MySQLのサービスを起動します。 # systemctl start mysqld.service (5) 自動起動設定 サーバを再起動した場合に自動的にサービスが起動するようにします。 # systemctl enable mysqld.service (6) mysql_secure_installationの実行 MySQLのセキュリティを向上させるために「mysql_secure_installation」を実行します。 # /usr/bin/mysql_secure_installation このコマンドは、 rootユーザのパスワード文字列を設定する VALIDATE PASSWORD PLUGINをインストール(Yes|No) anonymousユーザを削除する(Yes|No) リモートからのrootログインを禁止する(Yes|No) TESTデータベースを削除する(Yes|No) 権限を再読み出しする(Yes|No) という作業を対話式に順次実行します。 4. その他のコマンド (1) ユーザ作成 CREATE USER (ユーザID) @ localhost IDENTIFIED WITH mysql_native_password BY (パスワード) ; GRANT ALL PRIVILEGES ON (テーブル名).* TO (ユーザID) @ localhost ; ※※【注意事項】※※ 「my.cnf」で「skip-name-resolve」を指定している場合には、ホストの名前解決ができないため「localhost」ではエラーとなる。その場合には「127.0.0.1」と記述すること。 5. cronでの実行の場合 定期バックアップなどでコマンドラインからMySQLを実行する場合に、パスワードをコマンドラインに含めると警告が発生しますし、またセキュリティ上問題があります。 そこで、設定ファイルを作成して、コマンドラインから読込みます。 (1) 設定ファイルの作成 「/etc/.mysql_config」という設定ファイルを作成します。 # vi /root/.mysql_config 内容は以下の通りです。 [client] user = root password = (パスワード) host = localhost 「root」以外読めないようにします。 # chmod 400 /root/.mysql_config (2) コマンドラインでの実行 「--defaults-extra-file」オプションで設定ファイルを読み込みます。 【例】 for DBNAME in `ls -p /var/lib/mysql | grep / | tr -d /` do # mysqldump if [ "$DBNAME" = performance_schema ] then /usr/bin/mysqldump --defaults-extra-file=/root/.mysql_config --skip-lock-tables --skip-extended-insert $DBNAME $DBNAME.dump else /usr/bin/mysqldump --defaults-extra-file=/root/.mysql_config --events --skip-lock-tables --skip-extended-insert $DBNAME $DBNAME.dump fi done 6. MySQLのコマンド (1) mysqldump ■データベースを出力 mysqldump --defaults-extra-file=/root/.mysql_config -c -skip-extended-insert (DB名) (出力ファイル名) ■テーブルを指定して出力 mysqldump --defaults-extra-file=/root/.mysql_config -c -skip-extended-insert (DB名) (テーブル名) (出力ファイル名) (2) mysql ■ダンプファイルをインポート mysql --defaults-extra-file=/root/.mysql_config (DB名) (ダンプファイル名)
https://w.atwiki.jp/m_shige1979/pages/1396.html
プリペアードステートメントの更新 概要 可変パラメータを使用する場合は業務や状況に応じて変化する。パラメータにシングルクォートなどを使用している場合はエラーになるので処理ができるように可変パラメータを自動エスケープする仕組みが必要。 サンプル ソース ?php /******************************************* * PDO *******************************************/ try{ // MySQLサーバへ接続 $pdo = new PDO( "mysql host=localhost; dbname=pdotest", "root", ""); var_dump($pdo); // プリペアードステートメント発行 $sql = " SELECT `id` , `title` , `content` FROM `cd` WHERE `id` ? "; $stmt = $pdo- prepare($sql); // bindParamでパラメータ設定(変数未割り当て) $stmt- bindParam(1, $id); // 変数設定 $id = 16; // 実行 $stmt- execute(); // 結果取得 var_dump($stmt- fetch(PDO FETCH_ASSOC)); echo "---------------" . PHP_EOL; // 解放 $stmt = null; $sql = " SELECT `id` , `title` , `content` FROM `cd` WHERE `id` id "; $stmt = $pdo- prepare($sql); // 変数設定 $id2 = 15; // bindParamでパラメータ設定 $stmt- bindValue(" id", $id2); // 未定義の変数を割り当てるとエラーになる // 実行 $stmt- execute(); var_dump($stmt- fetch(PDO FETCH_ASSOC)); echo "---------------" . PHP_EOL; // クエリー発行 $sql = " SELECT `id`, `title`, `content`FROM `cd` WHERE `id` = 16"; $stmt = $pdo- prepare($sql); $stmt- execute(); // パラメータ割り当て $stmt- bindColumn("id", $id); $stmt- bindColumn("title", $title); $stmt- bindColumn("content", $content); // 実行して結果を変数へ設定 $stmt- fetch(); var_dump($id, $title, $content); echo "---------------" . PHP_EOL; $stmt = null; // クエリー発行 $sql = " SELECT `id`, `title`, `content`FROM `cd` WHERE `id` = 17"; $stmt = $pdo- prepare($sql); $stmt- execute(); // パラメータ割り当て $stmt- bindColumn(1, $id); $stmt- bindColumn(2, $title); $stmt- bindColumn(3, $content); // 実行して結果を変数へ設定 $stmt- fetch(); var_dump($id, $title, $content); echo "---------------" . PHP_EOL; $stmt = null; }catch(PDOException $e){ var_dump($e- getMessage()); } // 切断 $pdo = null;
https://w.atwiki.jp/sevenlives/pages/1335.html
MySQLi 読み:まいえすきゅーえるあい 英語:MySQLi 別名:MySQL拡張サポート 意味: MySQLiとは機能が向上したMySQLを扱うためのPHP5の拡張機能のこと。 PHP5とMySQL4.1以降のバージョンに対応しています。 新しい関数が追加され、従来のmysql関数群にiを追加しただけの関数など変更しやすい。オブジェクト指向の記述に対応。指定するMySQLの設定ファイル(my.cnf)の読み込みが可能になった。 など拡張された。 2008年06月03日 MySQL4.1? PHP5?
https://w.atwiki.jp/sevenlives/pages/306.html
libmysqlclient?