Featured Partner Articles Cloud cost optimization best practices Read moreHow to choose a cloud provider Read moreDigitalOcean vs. AWS Lightsail: Which Cloud Platform is Right for You? Read more

説明psqlとはPostgreSQLのターミナル型フロントエンドです。 対話的に問い合わせを入力し、それをPostgreSQLに対して発行して、結果を確認することができます。 また、ファイルから入力を読み込むことも可能です。 さらに、スクリプトの記述を簡便化したり、様々なタスクを自動化したりする、いくつものメタコマンドとシェルに似た各種の機能を備えています。 -a --echo-all読み込んだ全ての行を標準出力に表示します。 これは対話式モードよりもスクリプト処理の際に有用です。 ECHO変数をallに設定するのと同じ意味を持ちます。 -A --no-align位置揃えなしの出力モードに切り替えます (デフォルトの出力モードは位置揃えありです)。 -c command --command=commandpsqlに対し、commandという1つのコマンド文字列を実行し、終了するよう指示しま
こんにちは、sagaraです。全国のBoys&Girlsの皆さんが、Chocolatesという実体を通して 1対1リレーションを築くことができていると願っています…(チョコ下さい)。 さて、データベース設計に用いるER図(ERD: Entity-Relationship Diagram)。 普段、A5:SQL Mk-2を活用させて頂いてますが、こちらはWindows専用のソフトです。 では他のモデリングツールはどうだろうかと気になったので、いろいろ探してみました。 条件 用途はE-R図作成 MacでもWindowsでも使える 無償(機能制限OK)で使える ER図からDDLが生成できるとベター MySQL WorkBench https://www.mysql.com/jp/products/workbench/ 高機能なMySQLのデータモデル開発用アプリケーション。ER図からDDLへのエ
Access,SQLServerの場合 AccessとSQLServerは +演算子を使用して文字列を連結します. SELECT '文字列1' + '文字列2' + ... Oracleの場合 OracleはCONCAT関数を使用するか ||演算子を使用して文字列を連結します. SELECT CONCAT('文字列1', '文字列2') SELECT '文字列1' || '文字列2' || ... MySQLの場合 MySQLはCONCAT関数を使用して文字列を連結します.なお,||演算子はMySQLでは論理和(OR)として解釈されるため,文字列連結の用途には使用できません. SELECT CONCAT('文字列1', '文字列2', ...) PostgreSQLの場合 PostgreSQLは ||演算子を使用して文字列を連結します. SELECT '文字列1' || '文字列2' ||
なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 『SQLパフォーマンス詳解』の翻訳者の松浦隼人さんに、8つの「SQLが重たくなる原因とその対策」を聞きました。システムのボトルネックになるような「問題のあるSQL」を回避するノウハウを学びましょう。 データの操作や定義をする言語「SQL」は、どのような領域を担うエンジニアにとっても必修科目です。しかし、その仕様をきちんと理解し、パフォーマンスに優れたSQLを書ける方はそれほど多くありません。問題のあるSQLを書いてしまい、知らぬ間にそれがシステムのボトルネックになってしまう事態はよく発生します。 では、どうすればそうした事態を回避できるのでしょうか? そのノウハウを学ぶため、今回は『SQLパフォーマンス詳解』の翻訳者であり、自身もエンジニアでもある松浦隼人(まつうら・はやと/@dblmkt)さんに8つ
GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level TO user_or_role [, user_or_role] ... [WITH GRANT OPTION] [AS user [WITH ROLE DEFAULT | NONE | ALL | ALL EXCEPT role [, role ] ... | role [, role ] ... ] ] } GRANT PROXY ON user_or_role TO user_or_role [, user_or_role] ... [WITH GRANT OPTION] GRANT role [, role] ... TO user_or_role [, user_or_role] ... [WI
はじめに たとえばこんなDDLを投げる。 CREATE TABLE test ( id int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, hoge varchar(256) NOT NULL, UNIQUE KEY (hoge) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; するとエラーになる。 Specified key was too long; max key length is 767 bytes (SQLState:S1000)エラーに書かれているとおり、keyは最大で767byteまでしか使えないらしい。 ちなみにkeyはPRIMARY KEYとUNIQUE KEYがダメ、ただのKEYならOK。 で、どうするか。 1.素直に諦める 上記例ではテーブルがCHARSET=utf8のため1文字3b
基本的なデータ型とその使い方については、p.45からp.48をご覧ください。 *1 はSQL99で標準化されたものです。[ ] は省略可能です。 (2017.8.24) 更新。 最新の標準SQL は ISO/IEC 9075-2:2011 SQL/Foundation (JIS X 3005-2:2015). 一つ前が ISO/IEC 9075-2:2008 (JIS X 3005-2:2010). 事前定義されたデータ型 (組込みデータ型) 文字列型 (character string type), 長大オブジェクトデータ列型あり. 2進オクテット列 (binary string) 型, 長大オブジェクトデータ列型あり. 数型 真数型 概数型 - FLOAT, REAL, DOUBLE PRECISION ブール型 (Boolean types) 日時型および時間隔型 時刻型 DATE
今月の頭、詳解MySQL 5.7の出版記念第一弾として、MyNA(日本MySQLユーザ会)名義でイベントを行ったので、その際使用したスライドを紹介しておこう。今回紹介した新機能のカテゴリは2つ。レプリケーションとセキュリティである。レプリケーションはMySQLの運用と切っても切り離せないほど重要なものであり、そしてデータベースサーバーにとってセキュリティが重要であることは、言うまでもないだろう。 今回のバージョンでは、レプリケーションが大きく進化している。 まず、MySQL 5.7では、レプリケーションのトポロジの限界を打ち破った!!MySQL 5.6までのバージョンでは、スレーブはひとつのマスターしか持つことができないという制約があったのだが、それがなくなった。すなわち、スレーブが複数のマスターからデータを連続的に複製することができるようになったのである。それにより、これまで以上に様々な
現役ITエンジニアの方の中には、SQLに対して苦手意識を持っている方もいらっしゃるのではないでしょうか。 SQL自体は、ANSI(米国国家規格協会)や、ISO(国際標準化機構)で言語仕様の標準化が行われているので、一度マスターしてしまえば、製品によって多少の違いはあれど、基本的にどのDBでも同じように利用することが可能です。 つまり、実はエンジニアにとって非常に嬉しい言語なのです。 今回は、苦手意識を持たれている方も気軽に始めることができて、かつ必要な情報を網羅できるオススメのサイトを9つご紹介します。 このニュースを読んだあなたにオススメ ノンプログラマーがWebサービスやツールを作るまでの備忘録20選 無料で学べる人気プログラミング学習サイト21選 プログラミングするならこれ!無料で使えるおすすめのテキストエディタ6選 SQLが学べるサービス9選 1.ドットインストール http://
はじめに 前回の「JavaからMySQLに接続して登録する」ではSQL文を1つ1つコミットしていましたが、今回は複数のSQL文の登録とトランザクション処理を紹介します。 トランザクション処理を行うと、複数のSQL文の内の1つ以上でエラーが発生した場合に、その全ての処理を無かった事にしてくれます。 テーブル こちらに登録します。 コード import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class ConnectionClass { static final String URL = "jdbc:mysql://localhost/cm"; static final String U
MySQL 5.7が正式公開。前バージョンより3倍高速、マルチソースレプリケーションなど。一方で新しい「罠」に対する警告も 来週10月26日にはサンフランシスコで開催されるOracle OpenWorld 2015でMySQLのイベント「MySQL Central」が行われます。それに合わせて新バージョンのお披露目となりました。 MySQL 5.7の主な特長は次の通りです。 実行速度の向上 SysBenchのSysBench Read-only Point-Selectsの結果、1024コネクションでMySQL 5.7はMySQL 5.6の3倍となる160万クエリ/秒(QPS)の値を示しました。 InnoDBの新機能など 性能向上や並列度の向上に加え、オンライン状態での操作向上、Spatial Index、ネイティブパーティショニングなどの新機能が加わりました。 レプリケーションの強化 マ
— そーだい@初代ALF (@soudai1025) 2015, 8月 24 とブーメラン投げて見事に刺さってるので今から記事書く。 両サイドにはかなり厳しい話もするが俺の本音を聴いておけ(関白宣言) まぁ歴史の長いRDBなのでお互いの比較記事は沢山ある。 なのでマルチスレッド(MySQL)とマルチプロセス(PostgreSQL)だとかVACUUMだって話はしない。 むしろ実際に使ってみた際の違いをにフォーカスする。 1. SQLの違い 基本的にMySQLでやっていたことはPostgreSQL出来る。 しかし関数の挙動の違いは幾つかある。 例えば時間から曜日に該当する数字に変換した場合に MySQL → date_format(time,"%w") 0から始まり、日曜日に該当する PostgreSQL → to_char(time,'D') 1から始まり、日曜日に該当する など挙動に互換性
WHERE 句で条件を指定するときに REGEXP 演算子を使用すると、カラムの値と文字列が一致するかどうかを比較する時にを正規表現を使ったパターンマッチングを行うことができます。ここでは MySQL で REGEXP 演算子を使ってカラムの値をパターンマッチングする方法について解説します。 ※ 正規表現とは何かについては「正規表現入門」を参照されてください。
CHAR[(M)] [CHARACTER SET charset_name] [COLLATE collation_name] 固定長文字列 M は文字数。M の範囲は 0 から 255 。省略すると、長さは 1 。 格納時に必ず指定された長さになるように右側がスペースで埋められる。 別名:CHARACTER VARCHAR(M) [CHARACTER SET charset_name] [COLLATE collation_name] 可変長文字列 M は最大文字数。M の範囲は 0 から 65,535 。 ただし使用する文字コードで使うバイト数による。 別名:CHARACTER VARYING CHAR 型は指定した文字数以下の文字を格納した場合には文字列の末尾に空白を必要なだけ付け加えて指定の長さの文字列として格納します。ただし値を取得する場合は末尾にある空白は全て削除された上で取得
MySQL 編5 - JDBC + JAVA Servlet、JSP、レコード更新、レコード参照 MySQL の JDBC ドライバは、 mysql-connector-java-3.0.8-stable.zip のパッケージから、mysql-connector-java-3.0.8-stable-bin.jar を lib に 配置した。2.0.14 の JDBC ドライバでは日本語が扱えなかった。 3.0.8 の JDBC ドライバは日本語が正常に扱える。 ■J2SDK1.4.1 でのシフトJIS の扱い変更に伴う問題 ・JDBC で Oracle9i の文字データをアクセスすると記号文字「〜」、「−」 関係が ? になる。次のコード回避した。 MySQL では時間がなく検証していないので注意のこと。 s = rs.getString(fld); s = new String(s.ge
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く