[SQL]の検索結果


SQL Server 2017は、2017年10月2日(米国時間)に正式リリースされた、マイクロソフトが開発・販売しているRDBMS「SQL Server」の最新版で、 これまでもサポートされていた Windows Server だけでなく、LinuxとDockerコンテナに新たに対応している。

また、開発とDevOpsシナリオを容易にするコンテナのサポート、「R」や「Python」による分析で人工知能(AI)を利用できるなどの新機能も搭載されている。

開発者向けに、Enterprise Edition のすべての機能が含まれたDeveloper Editionが無料で提供されており、開発者はSQL Server上で動作するあらゆる種類のアプリケーションの開発ができる。

SQL Server 2017 のエディション

  • Enterprise:非常に優れたパフォーマンス、無制限の仮想化、エンドツーエンドのビジネスインテリジェンスを備えた包括的なハイエンド データセンター機能
  • Standard:企業部門や小規模組織がアプリケーションを実行するための基本的なデータ管理/ビジネスインテリジェンスデータベースを提供
  • Web:大小さまざまな規模の Web 資産に対応できるWeb ホスティング企業および Web VAP 向けの総保有コストの低いオプション
  • Developer:Enterprise Edition の機能がすべて含まれた開発者向けのエディション、開発者はSQL Server上で動作するあらゆる種類のアプリケーションを開発できる
  • Express:エントリレベルの無料のデータベースで、学習や、デスクトップおよび小規模サーバーデータドリブンアプリケーションの構築などに適している

SQL Server 2017 のダウンロード


SQL Server 2017についての情報

Linux および Windows 用 SQL Server 2017 | Microsoft
SQL Server 2017 の新機能
SQL Server のエディション
Microsoft、「SQL Server 2017」を正式リリース
SQL Server 2017 Developer をインストールする手順・方法

SQL Server

SQL Serverは米マイクロソフト社が主にWindows Server向けに開発・販売しているRDBMS。最新版の「SQL Server 2017」では、Windows Serverだけでなく LinuxおよびDockerコンテナにも対応。

[2937] Posted by kagahiro at 2018/08/12 16:41:43
0 point | Link (2) | Trackback (0) | Comment (0)

MySQLでは、INSERT ... SELECTを使用することで1つまたは複数のテーブルからレコードをテーブルに追加できます。
また、SELECTでLIMIT句とORDER BYを使用して上位n件のレコードのみテーブルに追加することもできます。


構文:
INSERT
INTO テーブル
[(カラム, ...)]
SELECT ...

追加前にORDER BYで指定した方法で並べ替えられ、LIMIT句で指定した行数のレコードが追加されます。

例えば、データベースtestのsalesテーブルに10件のレコードが格納されていて、priceの値が低い順に3件のレコードをjunkテーブルに追加する場合は以下のSQL文になります。

INSERT INTO test.junk (product,price) SELECT product,price FROM test.sales ORDER BY price Limit 3;

実際に実行してみると以下のような結果になります。

salesテーブルのデータ:

mysql> select * from test.sales order by price;
+----------+-------------+---------+----------+
| ordernum | product     | price   | quantity |
+----------+-------------+---------+----------+
|        3 | WII         |    4500 | 2        |
|        5 | PS3         |   10000 | 4        |
|        8 | G-SHOCK     |   12000 | 9        |
|        9 | EXILIM      |   14000 | 7        |
|        1 | PS4         |   20000 | 1        |
|        6 | COOLPIX     |   23000 | 1        |
|        7 | amazon fire |   25000 | 6        |
|       10 | GoPro       |   27000 | 3        |
|        4 | iPhone SE   |   50000 | 4        |
|        2 | iPhone 6    | 1000000 | 2        |
+----------+-------------+---------+----------+
10 rows in set (0.00 sec)

実行前のjunkテーブルのデータ:

mysql> select * from test.junk;
Empty set (0.00 sec)

INSERT ... SELECT文を実行:

mysql> INSERT INTO test.junk (product,price) SELECT product,price FROM test.sales ORDER BY price Limit 3;
Query OK, 3 rows affected (0.05 sec)
Records: 3 Duplicates: 0 Warnings: 0

実行後のjunkテーブルのデータ:

mysql> select * from test.junk;
+---------+-------+
| product | price |
+---------+-------+
| WII     |  4500 |
| PS3     | 10000 |
| G-SHOCK | 12000 |
+---------+-------+
3 rows in set (0.00 sec)

参考:
MySQL 5.6 リファレンスマニュアル INSERT ... SELECT 構文


[2591] Posted by kagahiro at 2016/09/30 15:29:37
1 point | Link (3) | Trackback (1) | Comment (0)

MySQLでは、UPDATEでLIMIT句とORDER BYを使用して上位n件のレコードを更新することができます。

更新前にORDER BYで指定した方法で並べ替えられ(ASCは昇順、DESCは降順、省略した場合は昇順)、LIMIT句で指定した行数のレコードが更新されます。

構文:
UPDATE テーブル
SET カラム1={expr1|DEFAULT} [, カラム2={expr2|DEFAULT}] ...
[WHERE 条件]
ORDER BY カラム [ASC | DESC]
LIMIT 行数;


例えば、データベースtestのsalesテーブルに10件のレコードが格納されていて、priceの値が低い順に3件のレコードのquantityに1を加算する場合は以下のSQL文になります。

UPDATE test.sales SET quantity = quantity + 1 ORDER BY price LIMIT 3;

実際に実行してみると以下のような結果になります。

更新前のデータ:

mysql> select * from test.sales order by price;
+----------+-------------+---------+----------+
| ordernum | product     | price   | quantity |
+----------+-------------+---------+----------+
|        3 | WII         |    4500 | 1        |
|        5 | PS3         |   10000 | 3        |
|        8 | G-SHOCK     |   12000 | 8        |
|        9 | EXILIM      |   14000 | 7        |
|        1 | PS4         |   20000 | 1        |
|        6 | COOLPIX     |   23000 | 1        |
|        7 | amazon fire |   25000 | 6        |
|       10 | GoPro       |   27000 | 3        |
|        4 | iPhone SE   |   50000 | 4        |
|        2 | iPhone 6    | 1000000 | 2        |
+----------+-------------+---------+----------+
10 rows in set (0.00 sec)

strong>UPDATE文を実行:

mysql> UPDATE test.sales SET quantity = quantity + 1 ORDER BY price LIMIT 3;
Query OK, 3 rows affected (0.03 sec)
Rows matched: 3 Changed: 3 Warnings: 0

更新後のデータ:

mysql> select * from test.sales order by price;
+----------+-------------+---------+----------+
| ordernum | product     | price   | quantity |
+----------+-------------+---------+----------+
|        3 | WII         |    4500 | 2        |
|        5 | PS3         |   10000 | 4        |
|        8 | G-SHOCK     |   12000 | 9        |
|        9 | EXILIM      |   14000 | 7        |
|        1 | PS4         |   20000 | 1        |
|        6 | COOLPIX     |   23000 | 1        |
|        7 | amazon fire |   25000 | 6        |
|       10 | GoPro       |   27000 | 3        |
|        4 | iPhone SE   |   50000 | 4        |
|        2 | iPhone 6    | 1000000 | 2        |
+----------+-------------+---------+----------+
10 rows in set (0.00 sec)

上位3件のレコードだけquantityが1加算されていることがわかると思います。

参考:
MySQLリファレンスマニュアル 13.2.11 UPDATE 構文

[2590] Posted by kagahiro at 2016/09/30 11:43:12
1 point | Link (3) | Trackback (1) | Comment (0)

T-SQL (Transact-SQL) は、SybaseとMicrosoftがSQL Sserver用に、データの操作や定義を行うためのデータベース言語であるSQLに独自の拡張機能を追加したプログラミング言語で、制御フロー、局所変数、グローバル変数...
[2554] Posted by kagahiro at 2016/05/13 11:53:32
0 point | Link (2) | Trackback (0) | Comment (0)

PL/SQL(ピーエル・エスキューエル)は、Oracle社が同社のデータベース製品であるOracle Databaseを使用するために、SQL(データの操作や定義を行うためのデータベース言語)を独自に拡張したプログラミング言語で、変...
[2553] Posted by kagahiro at 2016/05/13 11:52:32
0 point | Link (2) | Trackback (0) | Comment (0)

MySQLでは、DELETE文でLIMIT句とORDER BYを使用して上位n件のレコードを削除することができます。削除前にORDER BYで指定した方法で並べ替えられ(ASCは昇順、DESCは降順、省略した場合は昇順)、LIMIT句で指定した行...
[2552] Posted by kagahiro at 2016/05/12 11:11:37
1 point | Link (4) | Trackback (1) | Comment (0)

SQLiteのselect文でn件目〜m件目までのデータを取得する場合も、上位n件の場合と同様にLIMIT句を使用しますが、開始位置の指定が必要になります。データは開始位置で指定した値の次のレコードから取得されます。構文...
[2543] Posted by kagahiro at 2016/04/30 17:11:59
0 point | Link (3) | Trackback (0) | Comment (0)

SQLiteでは、AccessやMicrosoft SQL ServerのようにTOP句を使用して上位n件のデータを取得することはできません。SQLiteのSELECT文で上位n件のデータを取得する場合はLIMIT句を使用します。構文:SELECT カラム名, ....
[2542] Posted by kagahiro at 2016/04/30 16:43:14
1 point | Link (3) | Trackback (1) | Comment (0)

ウェブアプリケーション開発者必読の資料です。セキュリティの問題は奥が深い。「安全なウェブサイトの作り方」改訂第7版の内容・第1章では、「ウェブアプリケーションのセキュリティ実装」として、SQLインジェクショ...
[2505] Posted by kagahiro at 2015/04/04 17:56:01
0 point | Link (1) | Trackback (0) | Comment (0)

オープンソース掲示板ソフト「CommentPP 1.3」をリリースしました。1.2からの変更内容は不具合、脆弱性の修正とランキング表示の改善です。1.2以前のバージョンには脆弱性があるので、1.3へのバージョンアップをお願...
[2437] Posted by kagahiro at 2014/11/21 12:58:22
0 point | Link (1) | Trackback (0) | Comment (0)

  1 2 3 4 5  次へ >


アクセスランキング

今日のアクセスランキング TOP 10

  1. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (8 PV)
  2. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (6 PV)
  3. Google News (グーグルニュース)日本版 (6 PV)
  4. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (5 PV)
  5. YouTubeドラマまとめ ドラマ・映画 -VideoNavi- (2 PV)
  6. [Perl]http URL の正規表現について (2 PV)
  7. SQLのSELECT文でn件目からm件目までのレコードを取得する方法(Oracle、SQL Server、MySQL、PostgreSQL) (2 PV)
  8. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (2 PV)
  9. ウェブページを1回だけリロード(再表示)する方法 (2 PV)
  10. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (2 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2176 PV)
  2. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (1370 PV)
  3. Google News (グーグルニュース)日本版 (1288 PV)
  4. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (571 PV)
  5. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (268 PV)
  6. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (203 PV)
  7. ウェブページを1回だけリロード(再表示)する方法 (188 PV)
  8. YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (186 PV)
  9. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (177 PV)
  10. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (162 PV)

アクセス統計

ディレクトリ

関連サイト