Error
SQL query:
--
-- Database: `work`
--
-- --------------------------------------------------------
--
-- Table structure for table `administrators`
--
CREATE TABLE IF NOT EXISTS `administrators` (
`user_id` varchar( 30 ) NOT NULL ,
`password` varchar( 30 ) NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = latin1;
MySQL said:
#1046 - No database selected
need some help here.
OMG Ponies
321k79 gold badges517 silver badges499 bronze badges
asked Oct 23, 2010 at 18:19
2
You need to tell MySQL which database to use:
USE database_name;
before you create a table.
In case the database does not exist, you need to create it as:
CREATE DATABASE database_name;
followed by:
USE database_name;
Piero
9,06318 gold badges88 silver badges158 bronze badges
answered Oct 23, 2010 at 18:21
codaddictcodaddict
440k80 gold badges490 silver badges527 bronze badges
4
You can also tell MySQL what database to use (if you have it created already):
mysql -u example_user -p --database=example < ./example.sql
Daryl Gill
5,4149 gold badges36 silver badges69 bronze badges
answered Feb 17, 2014 at 19:21
1
I faced the same error when I tried to import a database created from before. Here is what I did to fix this issue:
1- Create new database
2- Use it by use
command
3- Try again
This works for me.
answered Dec 6, 2015 at 8:26
Mina FawzyMina Fawzy
20.6k16 gold badges130 silver badges149 bronze badges
1
If you’re trying to do this via the command line…
If you’re trying to run the CREATE TABLE statement from the command line interface, you need to specify the database you’re working in before executing the query:
USE your_database;
Here’s the documentation.
If you’re trying to do this via MySQL Workbench…
…you need to select the appropriate database/catalog in the drop down menu found above the :Object Browser: tab. You can specify the default schema/database/catalog for the connection — click the «Manage Connections» options under the SQL Development heading of the Workbench splash screen.
Addendum
This all assumes there’s a database you want to create the table inside of — if not, you need to create the database before anything else:
CREATE DATABASE your_database;
answered Oct 23, 2010 at 18:24
OMG PoniesOMG Ponies
321k79 gold badges517 silver badges499 bronze badges
4
If you are doing this through phpMyAdmin:
-
I’m assuming you already Created a new MySQL Database on Live Site (by live site I mean the company your hosting with (in my case Bluehost)).
-
Go to phpMyAdmin on live site — log in to the database you just created.
-
Now IMPORTANT! Before clicking the «import» option on the top bar, select your database on the left side of the page (grey bar, on the top has PHP Myadmin written, below it two options:information_schema and name of database you just logged into.
-
once you click the database you just created/logged into it will show you that database and then click the import option.
That did the trick for me. Really hope that helps
andrewtweber
23.8k22 gold badges86 silver badges109 bronze badges
answered Mar 18, 2014 at 1:25
RoannaRoanna
2512 silver badges2 bronze badges
2
For MySQL Workbench
- Select database from Schemas tab by right mouse clicking.
- Set database as Default Schema
answered Dec 6, 2018 at 14:12
1
- Edit your
SQL
file using Notepad or Notepad++ - add the following 2 line:
CREATE DATABASE NAME;
USE NAME;
ckpepper02
3,2675 gold badges28 silver badges43 bronze badges
answered Oct 11, 2013 at 20:48
1
Assuming you are using the command line:
1. Find Database
show databases;
2. Select a database from the list
e.g. USE classicmodels;
and you should be off to the races! (Obviously, you’ll have to use the correctly named database in your list.
Why is this error occurring?
Mysql requires you to select the particular database you are working on. I presume it is a design decision they made: it avoids a lot of potential problems: e.g. it is entirely possible, for you to use the same table names across multiple databases e.g. a users
table. In order to avoid these types of issues, they probably thought: «let’s make users select the database they want».
answered Dec 12, 2020 at 23:44
BenKoshyBenKoshy
32k14 gold badges103 silver badges78 bronze badges
If importing a database, you need to create one first with the same name, then select it and then IMPORT the existing database to it.
Hope it works for you!
answered Oct 25, 2011 at 16:38
ivan nivan n
991 silver badge1 bronze badge
1
be careful about blank passwords
mysqldump [options] -p '' --databases database_name
will ask for a password and complain with mysqldump: Got error: 1046: "No database selected" when selecting the database
the problem is that the -p
option requires that there be no space between -p
and the password.
mysqldump [options] -p'' --databases database_name
solved the problem (quotes are not needed anymore).
answered Jul 22, 2019 at 19:37
user3338098user3338098
9261 gold badge17 silver badges36 bronze badges
Check you have created the database first which you want.
If you have not created the dataBase you have to fire this query:
CREATE DATABASE data_base_name
If you have already created the database then you can simply fire this query and you will be able to create table on your database:
CREATE TABLE `data_base_name`.`table_name` (
_id int not null,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (_id)
);
answered Apr 7, 2021 at 6:22
Solution with an Example
- Error
1046
occurs when we miss to connect our table with a database. In this case, we don’t have any database and that’s why at first we will create a new database and then will instruct to use that database for the created table.
# At first you have to create Database
CREATE DATABASE student_sql;
# Next, specify the database to use
USE student_sql;
# Demo: create a table
CREATE TABLE student_table(
student_id INT PRIMARY KEY,
name VARCHAR(20),
major VARCHAR(20)
);
# Describe the table
describe student_table;
answered May 28, 2022 at 20:02
sarguptasargupta
91713 silver badges25 bronze badges
quoting ivan n :
«If importing a database, you need to create one first with the same name, then select it and then IMPORT the existing database to it.
Hope it works for you!»
These are the steps:
Create a Database, for instance my_db1, utf8_general_ci.
Then click to go inside this database.
Then click «import», and select the database: my_db1.sql
That should be all.
answered Apr 18, 2013 at 12:25
iversoncruiversoncru
5678 silver badges22 bronze badges
1
first select database : USE db_name
then creat table:CREATE TABLE tb_name
(
id int,
name varchar(255),
salary int,
city varchar(255)
);
this for mysql 5.5 version syntax
answered Jul 4, 2015 at 12:46
I’m late i think :] soory,
If you are here like me searching for the solution when this error occurs with mysqldump
instead of mysql, try this solution that i found on a german website out there by chance, so i wanted to share with homeless people who got headaches like me.
So the problem occurs because the lack -databases
parameter before the database name
So your command must look like this:
mysqldump -pdbpass -udbuser --databases dbname
Another cause of the problem in my case was that i’m developping on local and the root
user doesn’t have a password, so in this case you must use --password=
instead of -pdbpass
, so my final command was:
mysqldump -udbuser --password= --databases dbname
Link to the complete thread (in German) : https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-database/
answered Sep 23, 2018 at 2:52
In Amazon RDS, merely writing use my-favorite-database
does not work if that database’s name includes dashes. Furthermore, none of the following work, either:
use "my-favorite-database"
use `my-favorite-database`
use 'my-favorite-database'
Just click the «Change Database» button, select the desired database, and voilà.
answered Sep 8, 2021 at 18:21
DavidDavid
7556 silver badges12 bronze badges
Although this is a pretty old thread, I just found something out. I created a new database, then added a user, and finally went to use phpMyAdmin to upload the .sql file. total failure. The system doesn’t recognize which DB I’m aiming at…
When I start fresh WITHOUT first attaching a new user, and then perform the same phpMyAdmin import, it works fine.
answered Sep 27, 2013 at 10:15
zipzitzipzit
3,5584 gold badges32 silver badges59 bronze badges
Just wanted to add: If you create a database in mySQL on a live site, then go into PHPMyAdmin and the database isn’t showing up — logout of cPanel then log back in, open PHPMyAdmin, and it should be there now.
answered Aug 4, 2014 at 23:42
For an added element of safety, when working with multiple DBs in the same script you can specify the DB in the query, e.g. «create table my_awesome_db.really_cool_table…».
answered Jul 17, 2016 at 15:36
jst create a new DB in mysql.Select that new DB.(if you r using mysql phpmyadmin now on the top it’l be like ‘Server:...* >> Database ).Now go to import tab select file.Import!
answered Oct 19, 2015 at 5:34
0
The error no database selected
frequently occurs in MySQL when you perform a statement without selecting a database first.
In the following example, I tried to query a students
table immediately after connecting to the mysql
command line:
mysql> SELECT * FROM students;
ERROR 1046 (3D000): No database selected
To resolve this error, you need to first select a database to use in the command line by running the USE
command:
You need to replace [database_name]
with the name of a database that exists in your MySQL server.
You can also list the names of all databases available on your server with the SHOW DATABASES
command.
The following shows the output on my computer:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| school_db |
| sys |
| test_db |
+--------------------+
Next, issue the USE
command as shown below:
mysql> USE school_db;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>
The error should be resolved once mysql
responds with Database changed
as shown above.
The same applies when you’re using a graphical user interface for managing MySQL databases like MySQL Workbench or Sequel Ace.
Just run the USE
command before running any other statements:
USE school_db;
SELECT * FROM students;
SELECT * FROM cities;
The error can also happen when you run a .sql
script file from the command line without adding a USE
command:
mysql -uroot -p < ./files/query.sql
Enter password:
ERROR 1046 (3D000) at line 1: No database selected
To run the .sql
file, you need to add a USE
statement inside the SQL file itself.
Alternatively, you can also select the database you want to use from the command line as follows:
mysql -uroot -p school_db < ./files/query.sql
Enter password:
id name
3 Bristol
4 Liverpool
1 London
2 York
You need to add your database name after the -p
option and before the <
symbol.
And that’s how you can resolve the error no database selected in MySQL database server 😉
This article is a step-by-step guide to resolve the “MySQL ERROR 1046 (3D000) No Database Selected” error. If you are a DBA or a developer, this post will help you fix this MySQL 1046 error.
If you are getting this error message means you are trying to execute MySQL queries statement using the MySQL command prompt. Let’s go through why we get the error 1046 (3D000) followed by the step-by-step procedure to resolve this error.
Why you are getting MySQL Error 1046 (3D000) No database selected?
Let me tell you first why you are getting this 1046 MySQL error message. You might have guessed it right by now; the error message is pretty clear that you have not selected the database before executing your MySQL statement.
This error generally occurs when you try to create a Table in the MySQL database using the command prompt.
Because while executing a command from the command prompt you need to select the database also since MySQL will not be able to know for which database you are executing the script.
When you execute create table statement from MySQL workbench then at that time you need to manually select the database then you execute your statement. Similarly, while executing a script from the command prompt screen, make sure you have provided the database name.
The next question is “how to provide the database name?” No worries. Here are the steps; just follow the below steps by step procedure to get rid of the error.
Steps to resolve MySQL ERROR 1046 (3D000) No Database Selected:
Step 1:
- Open MySQL command prompt.
- Go to the start menu and open MySQL Command Line Client.
Step 2: Select the database
If you know the database name:
- Select the Database on which you want to execute your script.
- If you know the name of the database, then enter the database name in the following format.
use <database_name>;
Note: Don’t skip this step, this is the solution to get rid of the 1046 (3D000) error message.
If you do not know the database name:
If you don’t know the available database names or the database on which you are going to execute the script, then you can list all available databases using the following command.
SHOW databases;
Show database command lists down all the databases available. Then you run use <database_name>;
Step 3: Execute statement
Once the database is selected, you can execute your required SQL statement. Here we will execute create table statement in the database as an example.
That’s it. You can see the created table in the MySQL database using MySQL workbench.
Conclusion:
Is it not simple? I hope you now know the reason behind the “MySQL error 1046 No Database selected error” issue and how to fix it. Do share your feedback if this post helped you to fix the MySQL 1046 (3D000) error using the above steps in the comment section.
Cheers !!!
Similar article:
1. Fix “unknown collation ‘utf8mb4_unicode_520_ci’” Error
Содержание
- [FIX] MySQL ERROR 1046 (3D000) No Database Selected
- Why you are getting MySQL Error 1046 (3D000) No database selected?
- Steps to resolve MySQL ERROR 1046 (3D000) No Database Selected:
- Step 1:
- Step 2: Select the database
- Step 3: Execute statement
- Conclusion:
- How to fix no database selected MySQL error
- Level up your programming skills
- About
- ошибка #1046 — No database selected
- Сообщения 6
- 1 Тема от BadMoroz 2009-01-24 22:44:24
- Тема: ошибка #1046 — No database selected
- 2 Ответ от Hanut 2009-01-25 01:53:52
- Re: ошибка #1046 — No database selected
- 3 Ответ от BadMoroz 2009-01-25 15:06:44
- Re: ошибка #1046 — No database selected
- 4 Ответ от BadMoroz 2009-01-25 15:14:21
- Re: ошибка #1046 — No database selected
- 5 Ответ от Игорь Карасёв 2009-11-20 18:30:06
- Re: ошибка #1046 — No database selected
- 6 Ответ от pritvorshik 2013-01-30 12:03:51
- Re: ошибка #1046 — No database selected
- Сообщения 6
- Ошибка 1046 Нет базы данных Выбран, как решить?
- 15 ответов
- Если вы пытаетесь сделать это с помощью командной строки.
- Если вы пытаетесь сделать это через MySQL Workbench.
- Добавление
- [Solved-5 Solutions] Error 1046 No database Selected, how to resolve ? — sql
- Error Description:
- Solution 1:
- Solution 2:
- Read Also
- Solution 3:
- Solution 4:
- Import Database in phpMyAdmin
[FIX] MySQL ERROR 1046 (3D000) No Database Selected
This article is a step-by-step guide to resolve the “MySQL ERROR 1046 (3D000) No Database Selected” error. If you are a DBA or a developer, this post will help you fix this MySQL 1046 error.
If you are getting this error message means you are trying to execute MySQL queries statement using the MySQL command prompt. Let’s go through why we get the error 1046 (3D000) followed by the step-by-step procedure to resolve this error.
Why you are getting MySQL Error 1046 (3D000) No database selected?
Let me tell you first why you are getting this 1046 MySQL error message. You might have guessed it right by now; the error message is pretty clear that you have not selected the database before executing your MySQL statement.
This error generally occurs when you try to create a Table in the MySQL database using the command prompt.
Because while executing a command from the command prompt you need to select the database also since MySQL will not be able to know for which database you are executing the script.
When you execute create table statement from MySQL workbench then at that time you need to manually select the database then you execute your statement. Similarly, while executing a script from the command prompt screen, make sure you have provided the database name.
The next question is “how to provide the database name?” No worries. Here are the steps; just follow the below steps by step procedure to get rid of the error.
Steps to resolve MySQL ERROR 1046 (3D000) No Database Selected:
Step 1:
- Open MySQL command prompt.
- Go to the start menu and open MySQL Command Line Client.
Step 2: Select the database
If you know the database name:
- Select the Database on which you want to execute your script.
- If you know the name of the database, then enter the database name in the following format.
use ;
Note: Don’t skip this step, this is the solution to get rid of the 1046 (3D000) error message.
If you do not know the database name:
If you don’t know the available database names or the database on which you are going to execute the script, then you can list all available databases using the following command.
SHOW databases;
Show database command lists down all the databases available. Then you run use ;
Step 3: Execute statement
Once the database is selected, you can execute your required SQL statement. Here we will execute create table statement in the database as an example.
That’s it. You can see the created table in the MySQL database using MySQL workbench.
Conclusion:
Is it not simple? I hope you now know the reason behind the “MySQL error 1046 No Database selected error” issue and how to fix it. Do share your feedback if this post helped you to fix the MySQL 1046 (3D000) error using the above steps in the comment section.
Источник
How to fix no database selected MySQL error
Posted on Dec 02, 2021
Learn how to resolve no database selected MySQL error
The error no database selected frequently occurs in MySQL when you perform a statement without selecting a database first.
In the following example, I tried to query a students table immediately after connecting to the mysql command line:
To resolve this error, you need to first select a database to use in the command line by running the USE command:
You need to replace [database_name] with the name of a database that exists in your MySQL server.
You can also list the names of all databases available on your server with the SHOW DATABASES command.
The following shows the output on my computer:
Next, issue the USE command as shown below:
The error should be resolved once mysql responds with Database changed as shown above.
The same applies when you’re using a graphical user interface for managing MySQL databases like MySQL Workbench or Sequel Ace.
Just run the USE command before running any other statements:
The error can also happen when you run a .sql script file from the command line without adding a USE command:
To run the .sql file, you need to add a USE statement inside the SQL file itself.
Alternatively, you can also select the database you want to use from the command line as follows:
You need to add your database name after the -p option and before the symbol.
And that’s how you can resolve the error no database selected in MySQL database server 😉
Level up your programming skills
I’m sending out an occasional email with the latest programming tutorials. Drop your email in the box below and I’ll send new stuff straight into your inbox!
About
Nathan Sebhastian is a software engineer with a passion for writing tech tutorials.
Learn JavaScript and other web development technology concepts through easy-to-understand explanations written in plain English.
Источник
ошибка #1046 — No database selected
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщения 6
1 Тема от BadMoroz 2009-01-24 22:44:24
- BadMoroz
- Редкий гость
- Неактивен
- Зарегистрирован: 2009-01-24
- Сообщений: 3
Тема: ошибка #1046 — No database selected
Привет всем!! У меня такая проблема( При импорте БД пишет такую ошбку #1046 — No database selected
Ошибка
CREATE TABLE `jos_banner` (
`bid` int( 11 ) NOT NULL AUTO_INCREMENT ,
`cid` int( 11 ) NOT NULL default ‘0’,
`type` varchar( 30 ) NOT NULL default ‘banner’,
`name` varchar( 255 ) NOT NULL default »,
`alias` varchar( 255 ) NOT NULL default »,
`imptotal` int( 11 ) NOT NULL default ‘0’,
`impmade` int( 11 ) NOT NULL default ‘0’,
`clicks` int( 11 ) NOT NULL default ‘0’,
`imageurl` varchar( 100 ) NOT NULL default »,
`clickurl` varchar( 200 ) NOT NULL default »,
`date` datetime default NULL ,
`showBanner` tinyint( 1 ) NOT NULL default ‘0’,
X `checked_out` tinyint( 1 ) NOT NULL default ‘0’,
`checked_out_time` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`editor` varchar( 50 ) default NULL ,
`custombannercode` text,
`catid` int( 10 ) unsigned NOT NULL default ‘0’,
`description` text NOT NULL ,
`sticky` tinyint( 1 ) unsigned NOT NULL default ‘0’,
`ordering` int( 11 ) NOT NULL default ‘0’,
`publish_up` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`publish_down` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`tags` text NOT NULL ,
`params` text NOT NULL ,
PRIMARY KEY ( `bid` ) ,
KEY `viewbanner` ( `showBanner` ) ,
KEY `idx_banner_catid` ( `catid` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT =1
2 Ответ от Hanut 2009-01-25 01:53:52
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,722
Re: ошибка #1046 — No database selected
BadMoroz
Сперва выберите (создайте, если надо) БД, в которую вы осуществляете импорт.
3 Ответ от BadMoroz 2009-01-25 15:06:44
- BadMoroz
- Редкий гость
- Неактивен
- Зарегистрирован: 2009-01-24
- Сообщений: 3
Re: ошибка #1046 — No database selected
BadMoroz
Сперва выберите (создайте, если надо) БД, в которую вы осуществляете импорт.
БД создана и выбрана. всёравно выкидывае ошибку((( #1046
4 Ответ от BadMoroz 2009-01-25 15:14:21
- BadMoroz
- Редкий гость
- Неактивен
- Зарегистрирован: 2009-01-24
- Сообщений: 3
Re: ошибка #1046 — No database selected
BadMoroz
Сперва выберите (создайте, если надо) БД, в которую вы осуществляете импорт.
Простите за невнимательность все загрузил! Большое спасибо
5 Ответ от Игорь Карасёв 2009-11-20 18:30:06
- Игорь Карасёв
- Редкий гость
- Неактивен
- Зарегистрирован: 2009-11-20
- Сообщений: 6
Re: ошибка #1046 — No database selected
BadMoroz Расскажи как справился с проблемой?
6 Ответ от pritvorshik 2013-01-30 12:03:51
- pritvorshik
- Новичок
- Неактивен
- Зарегистрирован: 2013-01-30
- Сообщений: 1
Re: ошибка #1046 — No database selected
Нужно слева в списке выбрать базу данных нажав на нее если она уже создана и лишь после импортировать файл имябазы.sql
Либо если там ее нет то создать, выбрать нажав на нее и лишь после импортировать файл с базой данных.
Так же если на хостинге разрешена лишь одна база данных с большим количеством мб, а сайтов можно создать более одного, два, три и больше то ты просто меняешь либо добавляешь другой префикс к примеру на первый сайт префикс ya_ на второй ti_ и в той же базе можешь повесить не один сайт c одной базой данных, с учетом если позволяет размер выделенный на базу хостером.
Сообщения 6
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Источник
Ошибка 1046 Нет базы данных Выбран, как решить?
нужна помощь здесь.
15 ответов
Вам нужно указать MySQL, какую базу данных использовать:
прежде чем создавать таблицу.
Если база данных не существует, вам необходимо создать ее как:
Вы также можете указать MySQL, какую базу данных использовать (если она уже создана):
Я столкнулся с такой же ошибкой, когда попытался импортировать базу данных, созданную ранее. Вот что я сделал, чтобы исправить эту проблему:
1- Создать новую базу данных
2- Используйте его с use команды
3- Повторите попытку
Это работает для меня.
Если вы пытаетесь сделать это с помощью командной строки.
Если вы пытаетесь запустить оператор CREATE TABLE из интерфейса командной строки, вам нужно указать базу данных, в которой вы работаете, перед выполнением запроса:
Если вы пытаетесь сделать это через MySQL Workbench.
. вам нужно выбрать соответствующую базу данных/каталог в раскрывающемся меню, расположенном над вкладкой «Обозреватель объектов: вкладка». Вы можете указать стандартную схему/базу данных/каталог для подключения — нажмите «Управление соединениями» в разделе «Развитие SQL» экрана заставки Workbench.
Добавление
Все это предполагает наличие базы данных, в которой вы хотите создать таблицу внутри — если нет, вам нужно создать базу данных прежде всего:
Если вы делаете это через phpMyAdmin:
Я предполагаю, что вы уже создали новую базу данных MySQL на Live-сайте (на живом сайте я имею в виду компанию, в которой ваш хостинг (в моем случае Bluehost)).
Перейдите в phpMyAdmin на сайте live — войдите в базу данных, которую вы только что создали.
Теперь ВАЖНО! Прежде чем нажимать кнопку «импорт» на верхней панели, выберите свою базу данных в левой части страницы (серая полоса, сверху вверху написан PHP Myadmin, под ней два параметра: information_schema и имя базы данных, в которую вы только вошли.
после того, как вы щелкнете базу данных, которую вы только что создали/вошли в нее, она покажет вам эту базу данных и затем щелкните параметр импорта.
Источник
[Solved-5 Solutions] Error 1046 No database Selected, how to resolve ? — sql
Error Description:
Error 1046 No database Selected, how to resolve ?
Learn SQL — SQL tutorial — Mysql no Database selected — SQL examples — SQL programs
Solution 1:
- We must tell the database name to mysql which one is used before created the table.
- If the database not exist within mysql then we need to create it.
Solution 2:
- Alternately to use we can select the database using the command:
Read Also
Solution 3:
- If we uses Mysql workbench then use the database:
- On the left pane of the welcome window have Object Browser which contains default database/catalog
- Within the drop down list we select a database .
- And Click the «Manage Connections» options under the SQL Development heading of the Workbench splash screen to use the database.
Solution 4:
- If we have the sql database file then we import the database in phpMyAdmin to solve this error.
Import Database in phpMyAdmin
- Assuming that you already Created a new MySQL Database on Live Site.
- Goto phpMyAdmin on live site — login to the database you just created.
- And select your database from the list on the left of the page.
Learn SQL — SQL tutorial — How to Import Database in Mysql — SQL examples — SQL programs
- Click the «import» option on the top bar.
- Click on the «Browse» button next to «Location of the sql file.».
- Browse to your local SQL file and click «Open». If it is a zipped file, please unzip the file first.
- Then choose the format «SQL»
- Click the «Go» button at the bottom. Wait while your database imports. Depending on the size, this can take a few minutes.
Learn SQL — SQL tutorial — Mysql Import Database — SQL examples — SQL programs
Источник
MySQL no database selected is an error that occurs when you execute a statement without first selecting a database. The database may be completely missing, or you may choose the wrong database if there is more than one database.
Therefore, if you have more than one database, know the currently selected database and on which database your query execution takes place. Read this article to understand MySQL error and how to fix it.
Contents
- MySQL No Database Selected Error Causes
- How to Resolve the No Database Selected Error During File Import
- – Create a New Database
- – Workbench Solution
- – PhpMyAdmin Error Fix
- – Other Solutions for Database Not Selected Error
- How to View Currently Selected Database: Avoiding MySQL No Database Selected Error
- How to Import Files to Mysql Correctly
- FAQ
- – How Do I Switch Between Mysql Databases?
- – How Do I Select a Schema in Mysql?
- Conclusion
MySQL No Database Selected Error Causes
The MySQL1046 (3D000) error occurs when you do not select a database first when executing the MySQL statement. This error will mostly happen if you are trying to create a table in the MySQL database using the command prompt. While executing a command from the command prompt, you must also select the database. Otherwise, MySQL will not know from which database you are running the script.
MySQL has a command to help you determine the currently selected database. This is a quick way to help you ascertain if the problem is genuinely caused by not specifying a database. If the error arises due to not selecting a database, you can easily overcome it by replacing [database_name] with the correct database name in your server.
When creating a table statement from the MySQL workbench, you need to select the database to run before executing the statement. Note, the process of choosing the database is manual, not automatic. Similarly, when running a script from the command prompt screen, ensure that you provide that database name.
How to Resolve the No Database Selected Error During File Import
The error code 1046 no database selected MySQL workbench will pop up if you do not select a database before importing the SQL file. This can be disappointing if you do not know the origin of the problem. Now that you know the reason, here are some quick fixes.
– Create a New Database
- You must mention the name of the database prior to creating a table. To do so, use the command: USE database_name;
- If the database is not there, create a new database. Creating a new database can be quickly done by using the command: CREATE DATABASE database_name;
Now, use the newly created database with the command USE database_name. This should eliminate the 1046 error.
– Workbench Solution
This solution is specifically efficient when using the workbench. Experts suggest that you follow the steps below to eliminate the error:
- Find the welcome window, navigate to the left pane, and Object the browser
- From the drop-down list, select a database of interest
- Go to the SQL Development in the Workbench splash screen, look for the Manage Connections icon, and click on it.
– PhpMyAdmin Error Fix
This solution works for No database selected PhpMyAdmin errors. The approach tells you how you can resolve the error during the import. Just follow the steps below:
- Have a new database ready on Live Site (the company hosting you, e.g., Bluehost). This is mandatory.
- Navigate to phpMyAdmin on the live site and log in to the database
- Choose a database of interest from the list on the left side of the page. Usually, there is a grey bar on top with a PHPMyadmin inscription, and below it are two options – information_schema and the name of the database you logged into.
- From the top bar, click on the import button.
- Find and click on the Browse button, browse the files to find the SQL file you created or of interest and click to open it when you see it. If the file is zipped, unzip it first.
- Select SQL as the file format and press the Go button
After pressing the Go button, you will wait for a few minutes before seeing the results. Typically, the amount of wait time depends on the size of the database. The name of the created database must be similar to the name mentioned in the file. Otherwise, it will still throw the error.
– Other Solutions for Database Not Selected Error
One of the solutions requires that you create a database first before importing it. Here is the procedure.
- Create a new database using MySQL phpMyAdmin
- Use the database by simply running the command use database_name
And, finally, the easiest solution among all as it allows you to select a database using the command:
mysql -u example_user -p –database=work < ./work.sql
How to View Currently Selected Database: Avoiding MySQL No Database Selected Error
If you want to view the presently selected database, use the MySQL command below:
SELECT DATABASE();
You can execute this command from both two points – MySQL command line or MySQL workbench. The procedure for both processes is pretty straightforward.
If you are accessing it from the workbench, open it and execute the command:
SELECT DATABASE();
This action will expose the currently selected database, i.e., it returns the database you have selected. Usually, the database is also displayed in bold on the left side.
If you are working from the MySQL terminal, you must log in using your username and password and execute the command:
SELECT DATABASE();
This action also presents the selected database. However, the command will return null if you have not selected a database. This is common when you log into the terminal for the first time.
How to Import Files to Mysql Correctly
When the error emerges on your screen, you know the real cause of the issue. But, do you know how to select the database in MySQL? So, if you encounter a ”no database selected” error in PHP, Python, or any other program, you didn’t import your file correctly. Here is how you can import the files:
1. The step one is opening the Command :
- Open the command prompt on MySQL
- Navigate to the start menu and open Command Line Client.
2. The second step is selecting the Database:
- Selecting the database takes two forms: first, if you know the database, and second, if you do not know the database.
3. Let’s look at the first case (you know the database name):
- Select the database you wish to execute your script
- Do you know the name of the database? If yes, enter it in the format, use <database_name>;
Knowing the database name is critical since it is a solution to getting rid of the 1046 (3D000) error message.
4. Let’s look at the second option (you do not know the database name):
- In case you don’t know the database or database name on which you want to execute the script, list all the databases available using the command SHOW databases;
- This command, i.e., SHOW databases, will list all available databases making it easy to spot the database of interest.
- Run the use <database_name> command to select the database you want
5. And now we can execute the Statement:
- After you successfully select a database of interest, execute the needed statement. Typically, you will be executing create table statement in the database. This action creates a table in the database in MySQL using the workbench.
FAQ
– How Do I Switch Between Mysql Databases?
If you have more than one database in MySQL, indicate each with the USE command. This command helps you select or switch between databases in a MySQL server. However, you must choose the correct database each time you switch databases or start a new MySQL session.
– How Do I Select a Schema in Mysql?
Right-click on MySQL connection from the home screen and select edit connect. Set the desired default schema on the Default Schema box. The schema you select will be displayed in bold in the schema navigator. Use Filter to This Schema functionality to target specific schemas in the list.
Conclusion
Error 1046 usually occurs if you do not select the correct database when importing files in MySQL. That’s what we have discussed in detail in this article. The main points in this article are:
- Always select the database before clicking the import button
- Use the command SELECT Database when selecting a specific database in MySQL to work with when you have multiple databases. However, if you have one database, use SQL command USE.
- When MySQL ERROR 1046 (3D000) occurs, ensure you select the database. You can use the exact name to locate the file. Otherwise, use the command SHOW databases. This command displays all databases letting you select the right one.
- The first step in preventing the 1046 error is learning how to import files.
First, we have shown you how to import files correctly, and second, we have given you tips on how to solve the error 1046 when it occurs. These fixes are pretty straightforward, so why can’t you start applying them today?
- Author
- Recent Posts
Position Is Everything: Your Go-To Resource for Learn & Build: CSS,JavaScript,HTML,PHP,C++ and MYSQL.
The 1046 error occurs if you forget to select any database before creating a table.
Let us see how and why this error occurs. We will try to create a table without selecting a
database −
mysql> CREATE table MyTable1 -> ( -> id int -> ); ERROR 1046 (3D000): No database selected Or mysql> INSERT into sample values(1); ERROR 1046 (3D000): No database selected
Look at the output above, we are getting the same 1046 error: “No database selected”
Now, we can resolve this error after selecting any database with the help of USE command −
mysql> USE business; Database changed
Above, I have included the database with the name ‘business’. After that, we can create the
same table (which we tried creating above) under the database, “business” −
mysql> CREATE table MyTable1 -> ( -> id int -> ); Query OK, 0 rows affected (0.49 sec)
We can check whether the table is present or not in the “business” database. The query is as
follows −
mysql> SHOW tables like '%MyTable1%';
The following is the output
+---------------------------------+ | Tables_in_business (%MyTable1%) | +---------------------------------+ | mytable1 | +---------------------------------+ 1 row in set (0.05 sec)
GRANT ALL ON my-database.* TO my-user@10.0.0.1 IDENTIFIED BY 'password';
ERROR 1046 (3D000): No database selected
Ok, I have created a database with a «-» on the name (did the same thing on the user)… then when I try to set the grants on it the database wont work.
If I use the base the error is different
MariaDB [(none)]> use my-base
Database changed
MariaDB [my-base]> GRANT ALL ON 'my-base'.* TO 'my-user'@'10.0.0.1' IDENTIFIED BY 'password';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''my-base'.* TO 'my-user'@'10.0.0.1' IDENTIFIED BY 'password'' at line 1
MariaDB [my-base]>
asked Oct 19, 2012 at 14:27
2
Try escaping it with backticks?
GRANT ALL ON `my-database`.* TO `my-user`@`10.0.0.1` IDENTIFIED BY 'password';
Also, if you already have a user my-user
@10.0.0.1
, you don’t need to provide the IDENTIFIED BY...
portion of your grant statement
answered Oct 19, 2012 at 14:31
Derek DowneyDerek Downey
23.2k11 gold badges77 silver badges104 bronze badges
0
15 ответов
Вам нужно указать MySQL, какую базу данных использовать:
USE database_name;
прежде чем создавать таблицу.
Если база данных не существует, вам необходимо создать ее как:
CREATE DATABASE database_name;
а затем:
USE database_name;
codaddict
23 окт. 2010, в 18:35
Поделиться
Вы также можете указать MySQL, какую базу данных использовать (если она уже создана):
mysql -u example_user -p --database=example < ./example.sql
Shay Anderson
17 фев. 2014, в 19:47
Поделиться
Я столкнулся с такой же ошибкой, когда попытался импортировать базу данных, созданную ранее. Вот что я сделал, чтобы исправить эту проблему:
1- Создать новую базу данных
2- Используйте его с use
команды
3- Повторите попытку
Это работает для меня.
Mina Fawzy
06 дек. 2015, в 09:44
Поделиться
Если вы пытаетесь сделать это с помощью командной строки…
Если вы пытаетесь запустить оператор CREATE TABLE из интерфейса командной строки, вам нужно указать базу данных, в которой вы работаете, перед выполнением запроса:
USE your_database;
Здесь документация.
Если вы пытаетесь сделать это через MySQL Workbench…
… вам нужно выбрать соответствующую базу данных/каталог в раскрывающемся меню, расположенном над вкладкой «Обозреватель объектов: вкладка». Вы можете указать стандартную схему/базу данных/каталог для подключения — нажмите «Управление соединениями» в разделе «Развитие SQL» экрана заставки Workbench.
Добавление
Все это предполагает наличие базы данных, в которой вы хотите создать таблицу внутри — если нет, вам нужно создать базу данных прежде всего:
CREATE DATABASE your_database;
OMG Ponies
23 окт. 2010, в 19:40
Поделиться
Если вы делаете это через phpMyAdmin:
-
Я предполагаю, что вы уже создали новую базу данных MySQL на Live-сайте (на живом сайте я имею в виду компанию, в которой ваш хостинг (в моем случае Bluehost)).
-
Перейдите в phpMyAdmin на сайте live — войдите в базу данных, которую вы только что создали.
-
Теперь ВАЖНО! Прежде чем нажимать кнопку «импорт» на верхней панели, выберите свою базу данных в левой части страницы (серая полоса, сверху вверху написан PHP Myadmin, под ней два параметра: information_schema и имя базы данных, в которую вы только вошли.
-
после того, как вы щелкнете базу данных, которую вы только что создали/вошли в нее, она покажет вам эту базу данных и затем щелкните параметр импорта.
Это трюк для меня. Надеюсь, что поможет
Roanna
18 март 2014, в 01:40
Поделиться
- Отредактируйте свой
SQL
файл, используя Блокнот или Блокнот ++ - добавьте следующую строку:
CREATE DATABASE NAME;
USE NAME;
Ayham AlKawi
11 окт. 2013, в 21:40
Поделиться
Если вы импортируете базу данных, вам нужно сначала создать ее с тем же именем, затем выбрать ее, а затем импортировать в нее существующую базу данных.
Надеюсь, что это сработает для вас!
ivan n
25 окт. 2011, в 17:44
Поделиться
цитирование ivan n:
«Если вы импортируете базу данных, вам нужно сначала создать ее с тем же именем, а затем выбрать ее, а затем импортировать в нее существующую базу данных.
Надеюсь, это сработает для вас! «
Это следующие шаги:
Создайте базу данных, например my_db1, utf8_general_ci.
Затем нажмите, чтобы войти в эту базу данных.
Затем нажмите «импорт» и выберите базу данных: my_db1.sql
Это должно быть все.
iversoncru
18 апр. 2013, в 13:56
Поделиться
сначала выберите базу данных: USE db_name
тогда таблица creat: CREATE TABLE tb_name
( id int,
имя varchar (255),
зарплата int, город варчар (255)
);
this для синтаксиса версии mysql 5.5
veeru666
04 июль 2015, в 13:13
Поделиться
Для MySQL Workbench
- Выберите базу данных со вкладки Схемы, щелкнув правой кнопкой мыши.
- Установить базу данных как схему по умолчанию
Eric Korolev
06 дек. 2018, в 14:36
Поделиться
Я опаздываю, думаю:] Сори,
Если вы здесь, как я, ища решение, когда эта ошибка возникает с mysqldump
вместо mysql, попробуйте это решение, которое я нашел на немецком веб-сайте, случайно, поэтому я хотел поделиться с бездомными людьми, у которых были головные боли, подобные мне.
Таким образом, проблема возникает из-за отсутствия параметра -databases
перед именем базы данных
Поэтому ваша команда должна выглядеть так:
mysqldump -pdbpass -udbuser --databases dbname
Другая причина проблемы в моем случае заключалась в том, что я развивается на локальном компьютере, а у пользователя root
нет пароля, поэтому в этом случае вы должны использовать --password=
вместо -pdbpass
, поэтому моя последняя команда:
mysqldump -udbuser --password= --databases dbname
Ссылка на полный поток (на немецком языке): https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-database/
MoolsBytheway
23 сен. 2018, в 03:56
Поделиться
Для дополнительного элемента безопасности при работе с несколькими БД в том же script вы можете указать БД в запросе, например. msgstr «создать таблицу my_awesome_db.really_cool_table…».
William T. Mallard
17 июль 2016, в 16:22
Поделиться
Просто хотел добавить: если вы создаете базу данных в mySQL на живом сайте, перейдите в PHPMyAdmin, и база данных не появится — выход из cPanel, затем войдите в систему, откройте PHPMyAdmin, и он должен быть там сейчас.
the10thplanet
05 авг. 2014, в 00:57
Поделиться
Хотя это довольно старый поток, я только что нашел что-то. Я создал новую базу данных, затем добавил пользователя и, наконец, пошел использовать phpMyAdmin для загрузки файла .sql. общий сбой. Система не распознает, к какой базе данных я стремился…
Когда я начинаю новый БЕЗ с первого присоединения нового пользователя, а затем выполняет тот же импорт phpMyAdmin, он отлично работает.
zipzit
27 сен. 2013, в 11:01
Поделиться
jst создайте новую базу данных в mysql. Выберите этот новый DB. (если вы используете mysql phpmyadmin сейчас, то наверху он будет похож на «Сервер: ... * → База данных). Теперь перейдите на вкладку импорта, выберите файл. Импорт!
cs075
19 окт. 2015, в 07:27
Поделиться
Ещё вопросы
- 0Как включить флажок при прокрутке вниз?
- 0Все переключается на стиль переключения
- 0Обновить файл RSS из другого файла XML
- 0Изменить цвет фона CSS с помощью jQuery
- 0Неизвестная ошибка с шаблонами
- 0CodeIgniter 3 — неагрегированная группа столбцов по
- 1Как агрегировать расширенные значения — python — pandas
- 1NodeJs — Выполнение запроса ‘GET’ в цикле while с модулем запроса
- 1Python — кормить объект списком
- 0ID выбранного узла в дереве js
- 0PHP получает данные из jquery
- 1Точность застряла на 50% керас
- 1Разрыв 2-х вложенных циклов «сразу»
- 1используя C # linq для написания XML
- 0События в динамическом массиве флажков из базы данных
- 1Добавление загрузочного звука в Froyo 2.2 Droid
- 1Загрузка файлов на сервер в Android
- 1Переименование нескольких файлов CSV
- 1C # Пользовательский тип данных с «выбором»
- 1работающий андроид источник из git tree
- 1Иконка быстрого доступа Python cx-freeze
- 1Android сила преобразования температуры близко
- 0Systray, как отслеживать состояние меню при нажатии?
- 1Threadsafe События с использованием барьеров памяти
- 1Как разобрать XML (Fogbugz XML API)?
- 0Обнаружение изменения значения текстовой области
- 1Я получаю сообщение об ошибке при вставке базы данных
- 0как я проверяю уже таблицу в схеме MySQL?
- 0C — разбить строку, используя find () [duplicate]
- 1GetElementByid возвращает NodeList?
- 0Глобальная навигация с активным селектором (PHP)
- 1Формат в JSON с регулярным выражением
- 0Отправить JSON с одного сервера и получить на другом сервере
- 0Задержка анимации ползунка и изменение эффекта на исчезновение?
- 1Python очищает данные онлайн, но CSV-файл не показывает правильный формат данных
- 0Имитация PDOStatement :: execute
- 1Как кратко нанести на карту самолет с NumPy
- 1Бросить исключение, если обработчик сообщений потребителя template.convertSendAndReceive выбрасывает исключение?
- 1Проблемы с чтением символа ‘*’ в Python в новую строку
- 1DOMDocument извлекает теги из встроенных скриптов PHP
- 0столбцы .css для навигации по сайту
- 0Определенное поле, получающее NULL после заполнения формы
- 0CSS и html flip box попробуйте сделать
- 0как получить внучку от родителя в php
- 0Uncaught SyntaxError: Неожиданный токен var в javascript?
- 0jQuery изменить изображение на клик по ссылке
- 0Туннельный шейдер (преобразован из WebGL в OpenGL) — координаты текстуры не совпадают?
- 1Как предупредить пользователя о несохраненных изменениях, прежде чем покинуть страницу в Vue
- 0изменить изображение с помощью JavaScript на основе результата функции
- 1Создание пользовательского компонента, пользовательское свойство в схеме приводит к ошибке
WRITE FOR US