edo1z blog

プログラミングなどに関するブログです

MySQL

MySQL - 複数テーブルを連結して重複を削除しつつ、特定テーブルに存在するデータを削除する

複数テーブルの連結 union を使うと連結できます。 特定テーブルに存在するデータの削除 特定テーブルをleft joinしたときに、特定テーブルの該当カラムに値があれば、特定テーブルに同じデータが存在するということになります。 ですので、left join しつつ…

プログラムについて分かることは何でも回答いたします!!!PHP, Vue.js, MySQL, Firebase, cakePHP, Laravel, GCP, Stripeなど

MENTAで、プランを作成しました。MENTAは有料でメンターになれるサービスで、プランを投稿すれば誰でもメンターになれます。 menta.work 自分は全部独学なのですが非効率なのは間違いなく、かといってちょっと質問したくても最適な人が近くにいるわけでもな…

ブログのソースコードに色つけるやつを変えた

Wordpressのクレヨンとかいうやつから、ここに書いてあるHighlight.jsのやつに変えた。ついでにマークダウンも追加した。クレヨンはpreで囲まれた中身を自動で変換するが、highlight.jsはpre > codeで囲まれた中身を変換するので、シンプルな移管ができなそ…

cakephp3 - DB設定時のTime Zoneエラー

Windows10でXampp使ってcakephp3を動かすとき、DB設定のtimezoneをAsia/Tokyoにすると下記エラーがでた。 General error: 1298 Unknown or incorrect time zone: 'Asia/Tokyo' 対処法は、ここのとおりやったらできた。 ここから、timezone_2017a_posix_sql.z…

GCPでUbuntu16・Nginx・PHP7・cakePHP3環境をつくる

Google Cloud Platform(GCP)はAWSのgoogle版です。ここにサービスの説明があります。 Compute Engine まずプロジェクトを作成する。次に、Compute Engineのコンソールで、VMインスタンスを作成する。ゾーンを日本、マシンタイプをf1-micro、OSをUbuntu16.10…

購買型クラウドファンディング構築システム『Fundee』をつくりました

Fundeeとは? 購買型のクラウドファンディングサイトを簡単に作成できるパッケージシステムです。PHPで作成されており、フレームワークはcakePHPを使っています。ソースコードの難読化などはもちろんしていませんので、自由にカスタマイズしていただけます。…

cakephp2 - database.phpの情報でmysqlのpdoで接続する

cakephp2で、database.phpの情報でmysqlのpdoで接続する方法。 下記で、database.phpで設定している内容を取得できる。 include_once APP.'Config'.DS.'database.php'; if(class_exists('DATABASE_CONFIG')) { $this->db_config = new DATABASE_CONFIG(); } …

Mac El Capitan - MySQLインストール・設定

Macの状態 El Capitan 10.11.5です。 brewはインストール済みです。 MySQLインストール $ brew install mysql ==> Downloading https://homebrew.bintray.com/bottles/mysql-5.7.12.el_capitan.bottle.tar.gz Already downloaded: /Library/Caches/Homebrew/…

cloud9でcakephp3・MySQLを使う

cloud9プロジェクトの作成 cloud9でPHPを選択してプロジェクトを作ります。 MySQLの起動 $ mysql-ctl start Installing MySQL * Stopping MySQL database server mysqld ...done. * Starting MySQL database server mysqld ...done. * Checking for tables w…

RDSからEC2のmysqlに移す

RDSは便利ですが、高かったです。 EC2のMySQLのバックアップ RDS運用の前はEC2のMySQLで運用していたので、古いですが現状のEC2のMySQLを一応バックアップしておきます。 $ sudo mysqldump --databases hogehoge --single-transaction --order-by-primary -r…

ローカルのMySQLからAmazonRDSに移管する

EC2を使っていて、EC2のサーバに直接MySQLのDBを入れている状態から、AmazonRDSに移管します。自動でバックアップとかしてくれるので便利だからです。 Amazon RDSのインスタンスを作成する まず、RDSのインスタンスを作成します。https://aws.amazon.com/jp/…

mysqldump - 特定テーブルの構造のみダンプ

参考:4.9.7. mysqldump(テーブル構造とデータのダンプ) mysqldump [OPTIONS] database [tables] 特定テーブルの構造のみダンプしたいんじゃ。 mysqldump -u root -p -d hoges > hoges.sql これでいいのじゃ。-dを使うと構造だけダンプしてくれるのじゃ。 …

mysql 大きいサイズのsqlを分割してインポートする

大きいsqlをインポートするのら、php.iniで最大サイズを変更すればできるといえばできる。ローカル環境とかなら。でもインポート中にエラーとかでると結局sql直したりしなきゃいけない。今回は100テーブルあって全部で30MBくらいのsqlなので、テーブル毎に分…

EC2 phpmyadminが動かない

APCとmemcachedを入れたことが原因だった。 当初でていたエラーはこれ。 Undefined property: PMA_Error::$hash in /usr/share/phpMyAdmin/libraries/Error.class.php on l ine 169 Notice: Undefined property: PMA_Error::$isDisplayed in /usr/share/phpM…

cakePHP findのorderで配列の順番にソートするように設定する

$array = array(5, 4, 31, 29); $options = array( 'order' => "FIELD(id, " . implode(',', $array) . ")", ); return $this->find( 'all', $options );

mysqlコマンド

$ mysql -p -u root show databases; create database hoge; use hoge; source import.sql; show tables; select name,value from hoges limit 10; select * from hoges where name='hoge'; update hoges set value='hogehoge' where name='hoge'; show colu…

XAMPPのMySQLの場所

/Applications/XAMPP/xamppfiles/bin/mysql -u root -p

MySQL - 文字コードの確認・設定関連のコマンド

MySQLの文字コードに関する設定を確認するコマンド show variables like "chara%"; データベースの文字コード変換コマンド alter database hogehoge character set utf8; テーブルの文字コードをチェックするコマンド show create table hogehoges; テーブル…

cakePHP モデルからランダムに取得する

orderに、'rand()'とやる public function get_banners($num = 3){ $options = array( 'limit' => $num, 'order' => 'rand()' ); return $this->find('all', $options); }

MySQLのインデックス

参考: MySQLパフォーマンスチューニングのためのインデックスの基礎知識 大きめのテーブルにカラムやインデックスを追加する際の注意 インデックスの追加 ALTER TABLE phone_book ADD INDEX (last_name) 部分的インデックスの追加 ALTER TABLE phone_book A…

Eclipse4.2.2 MySQL接続エラー

エラー内容 ---------------------------------------------------------- com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver h…

EclipseでMySQLのテーブルを確認できるプラグイン Quantum DB

Quantum DB 使い方が書いてあるサイト

cakePHP Paginator Sort 任意の順番でソートさせる

cakePHPのPaginatorのsort機能は便利だが、例えばフィールドに格納されている内容が、"非常に忙しい"、"忙しい"、"平均的"、"暇"、"すごく暇"といった文字列になっている場合、忙しい順に並べたいと思っても、cakePHPは日本語が読めないし、意味も分からない…

CSVからテーブル作成用のSQL文を作成するPHP

macのnumbersで、windowsエクセルを開き、csv化することは問題なくできるが、フィールドの値にカンマが使われていたり、改行文字が使われている場合は注意が必要である。カンマが使われている場合は往々にしてあるので、事前にカンマを<カンマ>などのユニー…

Mac10.8.3 cakePHPとMySQLの連動エラーの対応(XAMPP使用時)

cakePHPでBakeしようとしたら、下記エラーが出た。 Warning Error: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) XAMPPのphpinfo()で、MYSQL_SOCKETのパスを確認し、上記エラーに出ている/v…

Mac OS X 10.8.3 にMySQLをインストールする

ターミナルで、Homebrewというのをインストールしてから、HomebrewでMySQLをインストールする。 ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)" brew install mysql 参考:http://tukaikta.blog135.fc2.com/blog-entry-220.html

PHP データベース接続

データベースへの接続 try { $dbh = new PDO('mysql:host=localhost;dbname=blog_app','dbuser001','dbpwd0001'); } catch (PDOException $e) { var_dump($e->getMessage()); exit; } データベースへの接続解除 $dbh = null; データベースへのデータ挿入 $st…

cakePHP1.3でデータベース操作の研究(MySQL)(2)

今回はまだ調べてないデータベース操作を試してみます。試したいのは、テーブルを検索するときにフィールドの条件にリストを使うこと。リストを使う場合に部分一致が可能かどうかというのも試したい。あと、日付関連のデータをテーブルに格納する最適な方法…

cakePHP1.3でデータベース操作の研究(MySQL)

cakePHPのデータベース操作を研究します。データベースはMySQLです。cakePHPのバージョンは1.3を使ってます。cakePHPはバージョン毎に結構変化が色々あるようなので、cakePHP2.0との違いは早く調べておこうと思います。どんなデータをつくるかというと、分か…

cakePHP - データ更新

データ更新は、saveメソッドで実施できる。プライマリーキーが引数で与えられたデータに含まれない場合は、データを新規追加し、含まれる場合は与えられたデータ内容で更新する。 特定のフィールドのみ更新する場合は下記のようになる。 $this->Board->id = …