タグ付けされた質問 「ddl」

データ定義言語は、テーブルのコンテンツではなく、データベースの構造要素を操作するSQLのサブセットです。CREATE、DROP、ALTERおよび関連するステートメント。



10
MySQLの特定の列の後に複数の列を追加する
テーブルに複数の列を追加する必要がありますが、という列の後に列を配置しますlastname。 私はこれを試しました: ALTER TABLE `users` ADD COLUMN ( `count` smallint(6) NOT NULL, `log` varchar(12) NOT NULL, `status` int(10) unsigned NOT NULL ) AFTER `lastname`; 私はこのエラーを受け取ります: SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、lastname7行目でnear ')AFTER ' を使用するための正しい構文を確認してください。 このようなクエリでAFTERを使用するにはどうすればよいですか?
361 mysql  ddl 

12
DDLとDMLとは何ですか?
データベースに関してDDLおよびDMLという用語を聞いたことがありますが、それらが何であるかわかりません。 それらは何であり、SQLとどのように関連していますか?
345 sql  ddl  dml 

4
DB上のユーザーにすべての権限を与える
管理者にすることなく、データベースに対するすべての権限をユーザーに付与したいと思います。その理由は、現時点ではDEVとPRODが同じクラスター上の異なるDBであるため、ユーザーが本番オブジェクトを変更できないようにしたいが、DEV上のオブジェクトを変更できる必要があるためです。 私は試した: grant ALL on database MY_DB to group MY_GROUP; しかしそれは許可を与えていないようです。 それから私は試しました: grant all privileges on schema MY_SCHEMA to group MY_GROUP; そして、それは私にオブジェクトを作成する許可を与えているようですが、他のユーザーに属するそのスキーマのオブジェクトをクエリ/削除する許可はありません MY_SCHEMAのユーザーにUSAGE権限を付与することで続行できますが、テーブルに対する権限がないと文句を言います... だから私は私の質問だと思います:DB上のユーザーにすべての権限を与える簡単な方法はありますか? 私はPostgreSQL 8.1.23に取り組んでいます。


4
テーブル追加列構文の変更
プログラムでID列をEmployeesテーブルに追加しようとしています。構文で何が間違っているのかわからない。 ALTER TABLE Employees ADD COLUMN EmployeeID int NOT NULL IDENTITY (1, 1) ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY CLUSTERED ( EmployeeID ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 何が悪いのですか?スクリプトをエクスポートしようとしましたが、SQL Mgmt Studioは一時テーブル全体の名前変更を行います。 更新:「キーワード 'COLUMN'の近くの構文が正しくありません。
142 sql  sql-server  tsql  ddl 

8
既存のSQLiteテーブルに外部キーを追加するにはどうすればよいですか?
次の表があります。 CREATE TABLE child( id INTEGER PRIMARY KEY, parent_id INTEGER, description TEXT); 外部キー制約を追加するにはどうすればよいparent_idですか?外部キーが有効になっていると仮定します。 ほとんどの例では、テーブルを作成していると想定しています。既存の制約に制約を追加したいと思います。
128 sql  sqlite  foreign-keys  ddl 

1
spring.jpa.hibernate.ddl-autoプロパティは、Springで正確にどのように機能しますか?
Springブートアプリプロジェクトで作業していたところ、別のサーバー(SQL Server)上のデータベースへの接続タイムアウトエラーが発生することがありました。これは、スクリプトの移行を試みたときに特に発生しますFlyWayが、数回試行しても機能します。 次にspring.jpa.hibernate.ddl-auto、プロパティファイルで指定していないことに気付きました 。私はいくつかの調査を行いspring.jpa.hibernate.ddl-auto= create-drop、開発に追加することが推奨されていることを発見しました 。そして、それを次のように変更しspring.jpa.hibernate.ddl-auto= noneます。 しかし、実際にはどのように機能するのcreate-dropか、またはhibernateがor none値を使用してデータベーススキーマをどのように生成するのかは、実際にはわかりませんでした。それが実際にどのように機能するか、およびこのプロパティを開発および運用サーバーで使用するための推奨事項を技術的に説明できますか?ありがとうございました

8
PostgreSQLの存在しない場合、CREATE DATABASEをシミュレートしますか?
JDBCでは存在しないデータベースを作りたい。MySQLとは異なり、PostgreSQLはcreate if not exists構文をサポートしていません。これを達成するための最良の方法は何ですか? アプリケーションは、データベースが存在するかどうかを認識しません。それはチェックする必要があり、データベースが存在する場合はそれを使用する必要があります。したがって、目的のデータベースに接続することは理にかなっており、データベースが存在しないために接続が失敗した場合は、(デフォルトのpostgresデータベースに接続することによって)新しいデータベースを作成する必要があります。Postgresから返されたエラーコードを確認しましたが、同じ種類の関連コードは見つかりませんでした。 これを実現する別の方法は、postgresデータベースに接続し、目的のデータベースが存在するかどうかを確認し、それに応じてアクションを実行することです。2つ目は、作業するのが少し面倒です。 Postgresでこの機能を実現する方法はありますか?
115 sql  database  postgresql  jdbc  ddl 

10
SQLiteテーブルから列を削除する
問題があります。SQLiteデータベースから列を削除する必要があります。私はこのクエリを書きました alter table table_name drop column column_name しかし、それは機能しません。私を助けてください。
114 sql  sqlite  ddl 

9
複数の列を主キーとして使用する理由(複合主キー)
この例はw3schoolsからの引用です。 CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) ) 私の理解では、両方の列(P_IdおよびLastName)は一緒にテーブルの主キーを表しますPersons。これは正しいです? なぜ誰かが単一の列ではなく複数の列を主キーとして使用したいのですか? 特定のテーブルで主キーとして一緒に使用できる列の数はいくつですか?


19
テーブルをロックせずにALTER TABLE?
MySQLでALTER TABLEステートメントを実行すると、ステートメントの期間中、テーブル全体が読み取りロックされます(同時読み取りは許可されますが、同時書き込みは禁止されます)。大きなテーブルの場合、INSERTまたはUPDATEステートメントが長時間ブロックされる可能性があります。テーブルがプロセス全体でまだ更新可能であるような方法で列を追加するような「ホットオルター」を行う方法はありますか? ほとんどの場合、MySQLのソリューションに興味がありますが、MySQLで解決できない場合は、他のRDBMSにも興味があります。 明確にするために、私の目的は、追加のテーブル列を必要とする新機能が本番環境にプッシュされたときのダウンタイムを回避することです。すべてのデータベーススキーマは時間の経過とともに変化しますが、それは現実です。これらの変更が必然的にダウンタイムにつながることを受け入れる必要がある理由はわかりません。それはただ弱いです。
107 sql  mysql  ddl  alter-table 

4
自動列は1つしか存在できません
MySQLのエラー「自動インクリメントカラムは1つしか持てない」を修正するにはどうすればよいですか。 CREATE TABLE book ( id INT AUTO_INCREMENT NOT NULL, accepted_terms BIT(1) NOT NULL, accepted_privacy BIT(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
104 mysql  ddl 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.