約 143,092 件
https://w.atwiki.jp/maichi/pages/12.html
SQLを作成し、l2jdb(データベース)を更新しよう!! 用語 用語 例 意味 SQL エスキューエル armor.sqlなど テーブルを作成したり、削除したり、追加したり、変更したり、見たりするための命令言語 Database データベース l2jdbなど ひとつの目的のもとで、たくさんのデータを集めた「かたまり」 table テーブル(表) armor,etcitemなど データを格納するための器(うつわ)、データベースは、いくつかのテーブルで構成されます Field フィールド(項目) item_id,accesslevelなど テーブルを構成する各要素のこと ひとつのテーブルは、いくつかのフィールドで構成されます Primary Key 主キー id,item_idなど テーブル中のたくさんのデータの中から、1つのデータを限定できる項目(または、項目の組合せ)の 代表(だから"主"キー) NULL ヌル default NULLなど [0]とも[空白]とも異なり、項目に値がまったく入っていない状態、反対語 = NOT NULL … なんらかの値が入っている状態。 税金にアイテムの価格変更の記載があります。 .
https://w.atwiki.jp/sevenlives/pages/61.html
SQL 読み:えすきゅーえる, しーくぇる 英語:Structured Query Language 意味: SQLとは現在、RDBMSで多くで使われる標準的な問い合わせ言語。 ANSI?やISOにも規格化されている。 決まった文法で様々な命令ができ、 「SELECT * FROM テーブル名;」 のように自然言語に近い感覚で様々な操作をすることができる。 2008年01月22日 データベース DML DDL DCL?
https://w.atwiki.jp/yama213/pages/15.html
sql
https://w.atwiki.jp/chiffon/pages/34.html
SQL
https://w.atwiki.jp/dellkeitai/pages/21.html
▼テーブルの変更 MySQL alter table テーブル名 CHANGE 古いカラム名 新しいカラム名 型情報 ; ▼SQL Server時間単位で解析 select day(update_date), DATEPART (hour,update_date), count(*) from event_log group by day(update_date),DATEPART (hour,update_date) order by 1,2 ▼MySQL 3→12 SQL show processlist; SQL show full processlist; ▼Oracle 設定の確認 select name, type, value from V$SYSTEM_PARAMETER where name = 'processes' or name='sessions' ユーザ名は大文字 select count(*) as SESSION_CNT from v$session where username = 'ユーザ名'; ▼SQL Server select * from sys.dm_exec_sessions where login_name='ユーザ名'; チューニング SQLServer キャッシュを削除 DBCC FREEPROCCACHE DBCC DROPCLEANBUFFERS http //msdn.microsoft.com/ja-jp/library/ms174283.aspx http //msdn.microsoft.com/ja-jp/library/ms187762.aspx GROUP BYした結果の件数の取得方法 ID 日付 データ 1 1/1 AAA 2 1/1 BBB 3 1/2 CCC これを日付でグループ化すると 1/1 2 1/2 1 になる。 この種類の数を知りたい場合は select count(distinct(日付)) from でOK。 項目が複数ある場合 CREATE TABLE TEST_CNT( VAR1 varchar(10) PRIMARY KEY, VAR2 varchar(10), VAR3 varchar(10)); INSERT INTO TEST_CNT VALUES ('1','A1','B1'); INSERT INTO TEST_CNT VALUES ('2','A1','B1'); INSERT INTO TEST_CNT VALUES ('3','A1','B2'); INSERT INTO TEST_CNT VALUES ('4','A1','B2'); INSERT INTO TEST_CNT VALUES ('5','A2','B1'); INSERT INTO TEST_CNT VALUES ('6','A2','B1'); INSERT INTO TEST_CNT VALUES ('7','A2','B2'); INSERT INTO TEST_CNT VALUES ('8','A2','B2'); SELECT VAR2,VAR3 FROM TEST_CNT GROUP BY VAR2,VAR3; ●MySQL SELECT COUNT(DISTINCT VAR2, VAR3) FROM TEST_CNT; ●Oracle SELECT COUNT(DISTINCT VAR2 || VAR3) FROM TEST_CNT; ●SQL Server SELECT COUNT(DISTINCT VAR2 + VAR3) FROM TEST_CNT; ●共通 SELECT COUNT(*) FROM (SELECT COUNT(*) AS CNT FROM TEST_CNT GROUP BY VAR2,VAR3) TEST_CNT; ※「SELECT COUNT(*) AS CNT」にする必要がある。「 AS CNT」が無いとSQL Serverでエラーになる。(Oracle,MySQLはOK) ※最後のに「TEST_CNT」を追加する必要がある。追加しない場合は、MySQL,SQL Serverでエラーになる。(OracleはOK) 最後のに「AS TEST_CNT」を追加するとOracleでエラーになるので、「AS」は不要。 ★第二弾フラグあり CREATE TABLE TEST_CNT2( VAR1 varchar(10) PRIMARY KEY, VAR2 varchar(10), VAR3 varchar(10), FLG varchar(1)); INSERT INTO TEST_CNT2 VALUES ('1','A1','B1','0'); INSERT INTO TEST_CNT2 VALUES ('2','A1','B1','0'); INSERT INTO TEST_CNT2 VALUES ('3','A1','B2','1'); INSERT INTO TEST_CNT2 VALUES ('4','A1','B2','1'); INSERT INTO TEST_CNT2 VALUES ('5','A2','B1','1'); INSERT INTO TEST_CNT2 VALUES ('6','A2','B1','0'); INSERT INTO TEST_CNT2 VALUES ('7','A2','B2','0'); INSERT INTO TEST_CNT2 VALUES ('8','A2','B2','1'); SELECT VAR2,VAR3 FROM TEST_CNT2 WHERE FLG = '1' GROUP BY VAR2,VAR3; SELECT COUNT(*) FROM (SELECT COUNT(*) AS CNT FROM TEST_CNT2 WHERE FLG='1' GROUP BY VAR2,VAR3) TEST_CNT; INSERT/UPDATE MySQL 「on duplicate key update」 create table a1 ( id int primary key, memo1 varchar(10), memo2 varchar(10)) insert into a1 values (1,'c','C') on duplicate key update memo1 ='c', memo2='C' SQL Server UPSERT MERGE merge into a1 using (select 4 as id1) as a2 on a1.id1 = a2.id1 when matched then update set memo2='d', memo3='D' when not matched then insert values (4,'d','D');
https://w.atwiki.jp/yuukizyouhou/pages/16.html
SQL-ListSelect WHERE Order by Group by [部分編集] SQL-List Select SELECT [表示要素名] FROM [テーブル名] WHERE WHEREを使って検索する WHEREの後に条件式を指定することにより その条件にマッチしたレコードだけを選択することができます。 SELECT フィールド名 FROM テーブル名 WHERE 条件式 Order by 並び替え SELECT [表示要素名] FROM [テーブル名] ORDER BY [ソートする要素名] [昇順・降順の指定]; 参照先 https //rfs.jp/sb/sql/s03/03_2-2.html#WHERE Group by グループ化を行うために使用される命令です。(ピボットテーブル化) 主に「種類ごとに集計関数を使用する」 SELECT [表示要素名] ,count(■■) FROM [テーブル名] GROUP BY ■■ ※Select指定の「■■」がソートされ、その結果で表示される 参照先 https //www.sejuku.net/blog/72923 ASC・・・昇順 DESC・・・降順 ※「ORDER BY」の後ろのソート指定は「,」区切りで複数指定することも可能 「WHERE」も同時につけられる SELECT [表示要素名],[ID] FROM [テーブル名] WHERE 3 id ORDER BY id DESC; IDが3以上を降順で 「GROUP BY」と同時にも使える SELECT [表示要素名] ,count(■■) as name_AAA FROM [テーブル名] GROUP BY ■■ ORDER BY name_AAA DESC;
https://w.atwiki.jp/program_language/pages/17.html
SQL
https://w.atwiki.jp/setechdiv/pages/22.html
共通 Oracle SQLServer Access <SQL>CAST関数とCONVERT関数 SQLServerってAccessみたいに暗黙の型変換ってないのよね。 なので、移送の際には明示的に変換をかけてやらないといけない。 型変換関数ではCASTが一番汎用性高そう。Access以外全てのDBMSで使えるっぽいのだ! ANSI(米国規格協会)で規定されてる一般的な変換関数。 でも、今日やりたかった文字列→日付変換は、SQLServerとMySQLでしか使えない CONVERT関数が楽だったのよ。多分。 今日とは逆で日付→文字列変換がしたい場合はCONVERTが断然楽そう。 CONVERTには変換のスタイルを指定できる任意引数があるのだ! CONVERT("1985/12/31",DATETIME,20) 20ってのが「日付のHH MM SSは省く」っていう指定らしい。 .
https://w.atwiki.jp/gengohouse/pages/305.html
記事 2020-12-24 | SQLで始める自然言語処理 リンク元 タグ:用語 編集
https://w.atwiki.jp/jorky/pages/19.html
******************************** *** DB2 SQL *** ******************************** ■テーブルスペース管理 作成したテーブルスペースやデータファイルの大きさ、そして残り容量は以下のSQL文を実行することにより把握できます。 SQL select * from sys.dba_data_files; SQL select * from sys.dba_free_space; SQL select * from sys.dba_free_space_coalesced; ********************************* ■デッドロック監視 イベントモニター ■LOG出力時のコマンド db2evmon -path /../db/db2dump/events/db2detaildeadlock db2detaildeadlock.log ■db2detaildeadlock作成 db2 "CREATE EVENT MONITOR DETAILDEADLOCK FOR DEADLOCKS WITH DETAILS HISTORY WRITE TO file '/../db/db2dump/events/db2detaildeadlock' BUFFERSIZE 4 BLOCKED AUTOSTART" SET event monitor DETAILDEADLOCK STATE 1 ■db2detaildeadlock削除 SET event monitor DETAILDEADLOCK STATE 0 DROP event monitor DETAILDEADLOCK ■db2detaildeadlock有効化 db2 "set event monitor db2detaildeadlock state 1" ******************************** ■DB2のスキマー指定した全テーブル一覧作成 (type=V,T) ) select 'REORG TABLE スキマー.' || tabname || ';RUNSTATS ON TABLE スキマー.' || tabname || ' AND DETAILED INDEXES ALL;REORG INDEXES ALL FOR TABLE スキマー.' || tabname || ';' from syscat.tables where owner = 'スキマー' and type = 'T' *************************************************** ■テーブル再編成 DB2 REORG TABLE スキマー.テーブル DB20000I REORG コマンドが正常に完了しました。 DB2 RUNSTATS ON TABLE スキマー.テーブル AND DETAILED INDEXES ALL DB20000I RUNSTATS コマンドが正常に完了しました。 ■インディクス再編成 DB2 REORG INDEXES ALL FOR TABLE スキマー.テーブル ********************************************** REBIND REORGとRUNSTATSを実行し終わったら、すべてのデータベース・パッケージを再バインドします。これは、データベース・パッケージの静的SQLで最新のシステム統計を利用できるようにするためです。次のようにDB2RBINDを使用して、すべてのデータベース・パッケージを再バインドします。 db2rbind dbname -l logfile.out ALL REORGCHK [CURRENT STATISTICS] [ 再編成対象指定 ] CURRENT STATISTICS 再編成が必要かどうかを現在の統計情報に基づいてチェックします。このオプションを指定しない場合、統計情報の更新を行った上で再編成が必要かどうかをチェックします。 再編成対象指定 再編成が必要かどうかをチェックする対象を以下の形式のいずれかで指定します。 ON TABLE USER 接続しているユーザーが所有している表をチェックします。 ON SCHEMA スキーマ名 指定したスキーマに含まれるすべての表をチェックします。 ON TABLE スキーマ名.表名 指定した表をチェックします。 ON TABLE SYSTEM システムの表をチェックします。 ON TABLE ALL すべてのユーザーおよびシステムの表をチェックします。 db2 "REORGCHK ON SCHEMA スキマー" db2 "REORGCHK ON TABLE ALL" REORGCHK_ALL.log **********************************