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

MySQLは、構造化照会言語(SQL)を使用する無料のオープンソースのリレーショナルデータベース管理システム(RDBMS)です。SQL Server、SQLiteなど、他のDBにはこのタグを使用しないでください。これらはすべて、独自のSQL方言を使用してデータを管理する異なるDBです。

6
MySQLテーブルにインデックスを追加するにはどうすればよいですか?
約150,000行のデータを含む非常に大きなMySQLテーブルがあります。現在、実行してみると SELECT * FROM table WHERE id = '1'; IDフィールドがプライマリインデックスであるため、コードは正常に実行されます。しかし、プロジェクトの最近の進展のために、別のフィールドでデータベースを検索する必要があります。例えば: SELECT * FROM table WHERE product_id = '1'; このフィールドは以前に索引付けされていませんでした。ただし、1つ追加したので、mysqlはフィールドにインデックスを付けますが、上記のクエリを実行しようとすると、実行速度が非常に遅くなります。EXPLAINクエリにより、product_idフィールドに既にインデックスを追加している場合、インデックスがないことがわかります。その結果、クエリは20分から30分で1つの行を返します。 私の完全なEXPLAIN結果は次のとおりです。 | id | select_type | table | type | possible_keys| key | key_len | ref | rows | Extra | +----+-------------+-------+------+--------------+------+---------+------+-------+------------------+ | 1 | SIMPLE | table | ALL | …


8
MySQLインデックスはどのように機能しますか?
MySQLのインデックスがどのように機能するかに本当に興味があります。具体的には、テーブル全体をスキャンせずに、要求されたデータをどのように返すことができますか? トピック外ですが、詳しく説明してくれる人がいたら、とてもありがたいです。
402 mysql  indexing 

30
SQLデータベーステーブルのn番目の行を選択する方法
データベーステーブルからn番目の行を選択する、データベースにとらわれない方法を学習することに興味があります。また、次のデータベースのネイティブ機能を使用してこれを実現する方法も興味深いでしょう。 SQLサーバー MySQL PostgreSQL SQLite オラクル 現在、SQL Server 2005で次のようなことをしていますが、他のより不可知論的なアプローチに興味があります。 WITH Ordered AS ( SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate FROM Orders) SELECT * FROM Ordered WHERE RowNumber = 1000000 上記のSQLのクレジット:Firoz Ansariのウェブログ 更新: SQL標準に関するTroels Arvinの回答を参照してください。トロエル、私たちが引用できるリンクはありますか?


6
MySQLカラムを変更してNULLを許可するにはどうすればよいですか?
MySQL 5.0.45 列をnullにできるようにテーブルを変更する構文とは何ですか? ALTER mytable MODIFY mycolumn varchar(255) null; 上記を実行するだけでマニュアルを解釈すると、列が再作成され、今回はnullが許可されます。サーバーから、構文エラーがあると言われました。私はそれらを見ません。
396 mysql  syntax 


17
MySQLの複数の更新
私はあなたが一度に複数の行を挿入できることを知っています、MySQLで複数の行を一度に(1つのクエリのように)更新する方法はありますか? 編集:たとえば、私は次のようにしています Name id Col1 Col2 Row1 1 6 1 Row2 2 2 3 Row3 3 9 5 Row4 4 16 8 次のすべての更新を1つのクエリに結合したい UPDATE table SET Col1 = 1 WHERE id = 1; UPDATE table SET Col1 = 2 WHERE id = 2; UPDATE table SET Col2 = 3 WHERE …
388 mysql  sql  sql-update 



7
MySQLで変数を宣言する方法は?
2番目のクエリで変数を使用できるように、mysqlで変数を宣言する方法は? 私は次のようなものを書きたいと思います: SET start = 1; SET finish = 10; SELECT * FROM places WHERE place BETWEEN start AND finish;
386 mysql  sql 

30
ソケット '/var/mysql/mysql.sock'(38)を介してローカルMySQLサーバーに接続できません
mysqlに接続しようとして大きな問題が発生しています。私が走ると: /usr/local/mysql/bin/mysql start 次のエラーがあります。 Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38) 私は持っていますmysql.sock下の/var/mysqlディレクトリ。 で/etc/my.cnf、私があります。 [client] port=3306 socket=/var/mysql/mysql.sock [mysqld] port=3306 socket=/var/mysql/mysql.sock key_buffer_size=16M max_allowed_packet=8M そして/etc/php.ini私は持っています: ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. mysql.default_socket = /var/mysql/mysql.sock 私は使用してApacheを再起動しました sudo /opt/local/apache2/bin/apachectl restart しかし、まだエラーがあります。 それ以外の場合、それが関連するかどうかはわかりませんが、mysql_config …
385 mysql 

15
MySQL:テーブルに存在しない場合はレコードを挿入
次のクエリを実行しようとしています。 INSERT INTO table_listnames (name, address, tele) VALUES ('Rupert', 'Somewhere', '022') WHERE NOT EXISTS ( SELECT name FROM table_listnames WHERE name='value' ); しかし、これはエラーを返します。基本的に、レコードの「名前」フィールドが別のレコードにすでに存在する場合、レコードを挿入したくない-新しい名前が一意であるかどうかを確認する方法は?
384 mysql 

15
エラー1698(28000):ユーザー 'root' @ 'localhost'のアクセスが拒否されました
新しいサーバーをセットアップしていますが、この問題が発生し続けています。 rootユーザーでMySQLデータベースにログインしようとすると、エラーが発生します。 エラー1698(28000):ユーザー 'root' @ 'localhost'のアクセスが拒否されました 端末(SSH)、PHPMyAdmin、またはNavicatなどのMySQLクライアントを使用して接続するかどうかは関係ありません。彼らはすべて失敗します。 mysql.userテーブルを調べて、以下を取得しました。 +------------------+-------------------+ | user | host | +------------------+-------------------+ | root | % | | root | 127.0.0.1 | | amavisd | localhost | | debian-sys-maint | localhost | | iredadmin | localhost | | iredapd | localhost | | mysql.sys | localhost | …
382 mysql  iredmail 

11
FROM句で更新のターゲットテーブルを指定することはできません
単純なmysqlテーブルがあります。 CREATE TABLE IF NOT EXISTS `pers` ( `persID` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(35) NOT NULL, `gehalt` int(11) NOT NULL, `chefID` int(11) DEFAULT NULL, PRIMARY KEY (`persID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; INSERT INTO `pers` (`persID`, `name`, `gehalt`, `chefID`) VALUES (1, 'blb', 1000, 3), (2, 'as', 1000, 3), …

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