Mysql показать все столбцы таблицы
Авторизация на сервере (из консоли), -h при необходимости авторизации на удалённом сервере
mysql -h hostname -u root -p
Создание БД
mysql> create database `databasename`;
Создание БД с указанием необходимой кодировки
mysql> create database `databasename` default character set ‘utf8’ collate ‘utf8_unicode_ci’;
Получить список всех БД на сервере
mysql> show databases;
Переключится на БД
mysql> use `db name`;
Получить список таблиц в базе
mysql> show tables;
Посмотреть структуру таблицы
mysql> describe `table name`;
Ещё один вариант
mysql> show columns from `table name`;
Удалить БД
mysql> drop database `database name`;
Удалить таблицу
mysql> drop table `table name`;
Показать все данные в таблице
mysql> SELECT * FROM `table name`;
Показать строки, где поле `field name` имеет значение «whatever».
mysql> SELECT * FROM `table name` WHERE `field name` = ‘whatever’;
Показать строки с именем «Bob» и номеном «3444444»
mysql> SELECT * FROM `table name` WHERE name = ‘Bob’ AND phone_number = 3444444;
Показать строки с номером «3444444» не содержащие имени «Bob» отсортированные по номеру.
mysql> SELECT * FROM `table name` WHERE name != ‘Bob’ AND phone_number = 3444444 order by phone_number;
Показать записи с именем, начинающимся на «bob» и номером 3444444
mysql> SELECT * FROM `table name` WHERE name like ‘Bob%’ AND phone_number = 3444444;
Верннуть все данные с именем, начинающемся на «bob» и номером 3444444 ограничить вывод пятью первыми строками
mysql> SELECT * FROM `table name` WHERE name like ‘Bob%’ AND phone_number = 3444444 limit 0,5;
Используем регулярное выражение. Для регистрозависимого выбора используйте «REGEXP BINARY». Данный запрос найдёт все записи, начинающиеся на «a»
mysql> SELECT * FROM `table name` WHERE rec RLIKE ‘^a’;
Показать уникальные записи
mysql> SELECT DISTINCT `column name` FROM `table name`;
Показать выбранные колонки отсортированные от а до я (ASC) или от я до а (DESC)
mysql> SELECT `col1`,`col2` FROM `table name` ORDER BY `col2` DESC;
Вернуть количество строк в таблице.
mysql> SELECT COUNT(*) FROM `table name`;
Просуммировать все числовые поля таблицы
mysql> SELECT SUM(*) FROM `table name`;
Объединение таблиц. Как работает JOIN (в картинках)
mysql> select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;
Создание пользователя. Вход под root. Переключение на БД mysql. Создание пользователя и обновление привилегий.
mysql -u root -p mysql> use mysql;
mysql> INSERT INTO user (Host,User,Password) VALUES(‘%’,’username’,PASSWORD(‘password’));
mysql> flush privileges;
Смена пароля пользователя из консоли
mysqladmin -u username -h hostname -p password ‘new-password’
Смена пароля пользователя из консоли MySQL. Вход как root. Смена пароля. Обновление привелегий.
mysql -u root -p mysql> SET PASSWORD FOR ‘user’@’hostname’ = PASSWORD(‘passwordhere’);
mysql> flush privileges;
Восстановление пароля root пользователя. Остановить MySQL сервер. Запустить с пониженной безопасностью. Залогинится на MySQL как root. Установить новый пароль. Разлогинится и перезапустить MySQL сервер.
/etc/init.d/mysql stop
mysqld_safe —skip-grant-tables &
mysql -u root mysql> use mysql;
mysql> update user set password=PASSWORD(‘newrootpassword’) where User=’root’;
mysql> flush privileges;
mysql> quit /etc/init.d/mysql stop
/etc/init.d/mysql start
Установка пароля root если он ещё не задавался ранее
mysqladmin -u root password newpassword
Смена пароля root
mysqladmin -u root -p oldpassword newpassword
Разрешить пользователю «Bob» подключаться к серверу c локального адреса с паролем «passwd». Войти как root. Переключиться на БД mysql. Дать привилегии. Обновить привелегии.
mysql -u root -p mysql> use mysql;
mysql> grant usage on *.* to bob@localhost identified by ‘passwd’;
mysql> flush privileges;
Предоставить пользователю привилегии на БД. Авторизоваться как root. Переключиться на БД mysql. Предоставить привилегии. Обновить кеш привилегий.
mysql -u root -p mysql> use mysql;
mysql> INSERT INTO user (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES (‘%’,’databasename’,’username’,’Y’,’Y’,’Y’,’Y’,’Y’,’N’);
mysql> flush privileges;
mysql> grant all privileges on databasename.* to username@localhost;
mysql> flush privileges;
Обновить информацию для существующего пользователя
mysql> use mysql;
mysql> UPDATE `user` SET Select_priv = ‘Y’,Insert_priv = ‘Y’,Update_priv = ‘Y’ where `User` = ‘user’;
flush privileges;
Удалить строки из таблицы
mysql> DELETE from `table name` where `field_name` = ‘whatever’;
Обновить кеш привилегий
mysql> flush privileges;
Удалить колонку из таблицы
mysql> alter table `table name` drop column `column name`;
Добавить колонку в таблицу
mysql> alter table `table name` add column `new column name` varchar (20);
Переименовать колонку
mysql> alter table `table name` change `old column name` `new column name` varchar (50);
Сделать данные в колоке уникальными (если дублирующиеся уже есть — будет ошибка)
mysql> alter table `table name` add unique (`column name`);
Модифицировать колонку
mysql> alter table `table name` modify `column name` VARCHAR(3);
Удалить индекс
mysql> alter table `table name` drop index `colmn name`;
Загрузить данные в БД из CSV файла.
mysql> LOAD DATA INFILE ‘/tmp/filename.csv’ replace INTO TABLE `table name` FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’ (field1,field2,field3);
Сделать дамп всех БД для бэкапа. Бэкап это файл с SQL командами для воссоздания всех баз.
mysqldump -u root -p —opt > /tmp/alldatabases.sql
Сделать дамп одной базы.
mysqldump -u username -p —databases databasename > /tmp/databasename.sql
Сделать дамп одной таблицы
mysqldump -c -u username -p databasename tablename > /tmp/databasename.tablename.sql
Восстановить БД (или таблицу) из бэкапа
mysql -u username -p databasename CREATE TABLE `table name` (
`firstname` VARCHAR(20),
`middleinitial` VARCHAR(3),
`lastname` VARCHAR(35),
`suffix` VARCHAR(3),
`officeid` VARCHAR(10),
`userid` VARCHAR(15),
`username` VARCHAR(8),
`email` VARCHAR(35),
`phone` VARCHAR(25),
`groups` VARCHAR(15),
`datestamp` DATE,
`timestamp` time,
`pgpemail` VARCHAR(255)
);
Создание таблицы, пример 2.
mysql> CREATE TABLE `table name` (
personid int(50) not null auto_increment primary key,
firstname VARCHAR(35),
middlename VARCHAR(50),
lastname VARCHAR(50) default ‘bato’
);
Источник
Базы данных
Про Postgresql есть отдельная статья
Подключение к базе даных MySQL
Из консоли наберите
mysql -h ip_вашей_базы_данных -u имя_пользователя -p
Нажмите Enter и введите пароль.
Если вы подлючаетеся к базе данных своего сайта и не знаете ip сделайте в консоли.
Например, сайт andreyolegovich.ru имеет IP 87.236.19.34
После ввода пароля должно появиться приветствие MySQL
Посмотреть все базы данных можно с помощью команды
Обратите внимание на точку с запятой в конце
Выбрать определённую БД
Как узнать какие таблицы находятся в БД MySQL
Посмотреть список содержащихся в БД таблиц
Как посмотреть содержимое таблицы MySQL
Посмотреть структуру определённой таблицы
Посмотреть содержание определённой таблицы
Упорядоченный по ID вывод таблицы имя_таблицы
SELECT * FROM имя_таблицы ORDER BY ID;
В обратном порядке:
SELECT * FROM имя_таблицы ORDER BY ID DESC;
Запрос с условием показать только китайских производителей
SELECT * FROM table_manuf WHERE (country=’China’);
Запрос с условием показать только страны с кодом 7 или 358
SELECT * FROM table_countries WHERE (code=’7′ OR code=’358′);
Как переименовать таблицу MySQL
Переименовать таблицу car в auto с помощью ALTER TABLE (mysql.ru)
ALTER TABLE car RENAME auto;
Как добавить столбец в таблицу MySQL
Добавить новый столбец типа TEXT с именем Body:
ALTER TABLE имя_таблицы ADD Body text;
Как добавить строку в таблицу БД
Добавляем запись в таблицу с названием Имя_таблицы
INSERT INTO Имя_таблицы VALUES(100, ‘Компания’, ‘Страна’, ‘Что-то ещё’);
Как удалить строку в таблице БД
Удалить строку с ID 1 в таблице с названием Имя_таблицы
DELETE FROM Имя_таблицы WHERE ;
Как изменить значение в таблице MySQL
Изменить поле Country на Russia у записи с ID 7
UPDATE имя_таблицы SET Country = ‘Russia’ WHERE ;
Как найти все таблицы с определённым столбцом
Ищем по всей базе данных таблицы у которых есть столбец с именем Name
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = ‘Name’;
Как обратиться к базе данных с помощью PHP
$connection = mysql_connect(«localhost», «Имя_БД» , «Пароль к БД для localhost подключения»); $db = mysql_select_db(«Имя_БД»); if(!$connection || !$db) < mysql_error(); >?> mysql_connect(‘localhost’, ‘Имя_БД’,’Пароль к БД для localhost подключения’); mysql_select_db(‘Имя_БД’); $res = mysql_query(«SELECT * FROM `Название_таблицы`») or die(mysql_error()); echo’
ID | Company | Country |
‘.$row[‘ID’].’ | ‘.$row[‘Company’].’ | ‘.$row[‘Country’].’ |
‘; echo’ ‘; echo’ ‘;
Ошибки
MS SQL
Вывести на экран список таблиц MS SQL
SELECT TABLE_NAME FROM information_schema.tables select table_name, column_name from information_schema.columns;
Ошибки MS SQL
server management studio error 4064
Если при попытке соединения с базой данных Вы получаете следующую ошибку:
Cannot open user default database. Login failed.
Login failed for user ‘UserName’. (Microsoft SQL Server, Error: 4064)
Перейдите в Options
Если в поле Connect to database: стоит замените его на имя Вашей базы данных.
В данном примере вместо andreyolegovich.ru_db должно быть имя базы данных, к которой Вы хотите подлючиться.
Postgres
Получить список таблиц Postgres
select table_name from information_schema.tables;
Получить список таблиц и столбцов Postgres
select table_name, column_name from information_schema.columns;
Получить список таблиц исключая служебные и отсортировать по имени таблицы
select table_name from information_schema.tables where table_schema=’public’ ORDER BY table_name;
Выбрать из таблицы диапазон значений
select * from table where (number > ‘111’ and number mysql -h XXX.XXX.XXX.XXX -u username -p USE db_name; SHOW tables; MY_QUERY
Где XXX.XXX.XXX.XXX — IP адрес сервера на котором установлена БД
username нужно заменить на настоящее имя пользователя БД
db_name — заменить на настоящее имя БД.
Вполне возможен вариант, когда username и db_name одинаковые
Tables_in_db_name
Table01
Table02
Ошибки при работе с Postgres
Вы хотите удалить что-то из таблицы TABLE_NAME , но получаете ошибку
ERROR: update or delete on table » TABLE_NAME violates foreign key constraint » fk_ANOTHER_TABLE_SOME_id » on table » ANOTHER_TABLE » DETAIL: Key (id)=( SOME_ID ) is still referenced from table » ANOTHER_TABLE «. SQL state: 23503
Эта ошибка возникает в случае, когда Вы пытаетесь удалить что-то из реляционной базы данных и это что-то является ключом для элементов из другой таблицы.
Чтобы её обойти нужно удалить элементы другой таблицы ( ANOTHER_TABLE ) которые ссылаются на ту, из которой Вы хотите удалить ( TABLE_NAME ).
Вычислить эти элементы можно по значению Key ( SOME_ID )
Желательно убедиться, что все Ваши действия осознаны и не представляют угрозы базе данных.
Ошибки MySQL
Ошибка: 1064
ERROR 1064 (42000) at line 3: 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 ‘
Говорит о том, что в синтаксисе допущены ошибки. Допустим, Вы создаёте таблицу и задаёте столбцы неправильно.
Например, вместо , ставите ;
id INT ; model VARCHAR(20) ; modified_time TIMESTAMP ; name VARCHAR(20) ;
Или не указали длину для VARCHAR
id INT, model VARCHAR, modified_time TIMESTAMP, name VARCHAR,
Это легко исправить
id INT, model VARCHAR(20), modified_time TIMESTAMP, name VARCHAR(20),
Изучите внимательно документацию по MySQL
Ошибка: Table X already exists
ERROR 1050 (42S01) at line 3: Table ‘tableName’ already exists
Источник
Список (показать) таблиц в базе данных MySQL
При управлении серверами баз данных MySQL одной из самых частых задач, которые вы выполняете, является знакомство со средой. Это включает в себя перечисление баз данных, которые находятся на сервере, отображение таблиц баз данных или выборку информации об учетных записях пользователей и их привилегиях.
В этой статье показано, как составить список таблиц в базе данных MySQL или MariaDB через командную строку.
Показать таблицы MySQL
Чтобы получить список таблиц в базе данных MySQL, используйте клиентский инструмент mysql для подключения к серверу MySQL и выполните команду SHOW TABLES.
Получите доступ к серверу MySQL:
Из оболочки MySQL переключитесь на базу данных с помощью инструкции USE:
Выполните следующую команду, чтобы получить список всех таблиц и представлений в текущей базе данных:
Вывод будет выглядеть примерно так:
Необязательный модификатор FULL покажет тип таблицы в качестве второго выходного столбца.
Вывод будет выглядеть примерно так:
Чтобы получить список таблиц без переключения на базу данных, используйте предложение FROM или IN, за которым следует имя базы данных:
Предложение LIKE можно использовать для фильтрации выходных данных c командой SHOW TABLES в соответствии с определенным шаблоном.
Например, следующий оператор вернет все базы данных, имена которых начинаются с ‘open’:
Знак процента (%) означает ноль, один или несколько символов.
Показывать таблицы MySQL из командной строки
Чтобы получить информацию о таблицах из оболочки Linux, вы можете использовать либо команду mysql -e, либо команду mysqlshow, которая отображает информацию о базах данных и таблицах.
Это особенно полезно, когда вы хотите работать с базами данных MySQL, используя сценарии оболочки.
Запустите следующую команду на своем терминале, чтобы показать список всех баз данных:
Вывод отобразит список всех таблиц:
Вот пример использования команды mysqlshow:
Вы можете отфильтровать вывод с помощью команды grep.
Заключение
Чтобы получить информацию о таблицах в базе данных MySQL, используйте команду SHOW TABLES.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.
Источник
MySQL список таблиц и их структура
Команды для работы со списком таблиц и их структурой.
список баз данных
список таблиц в базе
список столбцов в таблице
показать структуру таблицы в формате «CREATE TABLE»
привилегии для пользователя.
значения системных переменных
статистика по mysqld процессам
статистика по всем таблицам в базе
статистика по всем таблицам wp_ в базе
Проверка настроек кодировки
Проверка настроек кодировки
Проверка кодировки текущей базы данных
Для настройки кодировки utf8 по умолчанию
Необходимо внести следующие изменения в файл my.cnf (my.ini):
[mysqld]
[client]
default-character-set = utf8
Информация об установленной версии pkg_info | grep mysql (FreeBSD)
добавить столбец в таблице в базе mysql
переименование столбцов в таблице
внести изменения в столбцы таблицы
В будущем, если включите innodb_file_per_table, сможете уменьшать объем tablespace путем
пересоздания таблиц сразу в InnoDB (т.к. в режиме файл-на-таблицу файл при удалении таблицы
стирается) командой
Определение размера таблицы
Показывает обьем и количество строк в таблицах MySQL.
Перемещение таблицы MySQL в другую базу
Копирование таблицы MySQL в другую базу
Копирование таблицы MySQL в другую базу с условием
Копирование необходимых столбцов таблицы MySQL в другую базу
database1— база из которой копируем
database2 — база в которую копируем
table — название таблицы
Текущее состояние кэша
Посмотреть состояние кэша можно с помощью запроса:
- Qcache_free_memory — объем свободной памяти, отведенной под кэш.
- Qcache_hits — количество запросов, отработанных из кэша.
- Qcache_inserts — количество вставок запросов в кэш.
- Qcache_lowmem_prunes — количество высвобождений памяти из-за наполненности кэша.
- Qcache_not_cached — количество запросов, не подлежащих кэшированию.
- Qcache_queries_in_cache — количество запросов, находящихся в кэше в настоящее время.
Мерой эффективности кэша может служить отношение Qcache_hits / (Qcache_inserts + Qcache_not_cached).
Читайте другие интересные статьи
Понравилась статья, расскажи о ней друзьям, нажми кнопку!
Источник
Просмотр списка таблиц в базе данных MySQL
При управлении серверами баз данных MySQL одна из наиболее частых задач, которые вы выполняете, — это знакомство со средой. Это включает в себя перечисление баз данных, которые находятся на сервере, отображение таблиц базы данных или получение информации об учетных записях пользователей и их привилегиях .
В этой статье показано, как вывести список таблиц в базе данных MySQL или MariaDB через командную строку.
Показать таблицы MySQL
Чтобы получить список таблиц в базе данных MySQL, используйте клиентский инструмент mysql для подключения к серверу MySQL и выполните команду SHOW TABLES .
Доступ к серверу MySQL:
Из оболочки MySQL переключитесь на базу данных с помощью оператора USE :
Выполните следующую команду, чтобы получить список всех таблиц и представлений в текущей базе данных:
Результат будет выглядеть примерно так:
Необязательный модификатор FULL покажет тип таблицы как второй выходной столбец.
Результат будет выглядеть примерно так:
Чтобы получить список таблиц без переключения на базу данных, используйте предложение FROM или IN , за которым следует имя базы данных:
Предложение LIKE можно использовать для фильтрации вывода команды SHOW TABLES соответствии с определенным шаблоном.
Например, следующий оператор вернет все базы данных, имена которых начинаются с ‘open’:
Знак процента ( % ) означает ноль, один или несколько символов.
Показать таблицы MySQL из командной строки
Чтобы получить информацию о таблицах из оболочки Linux, вы можете использовать команду mysql -e или команду mysqlshow которая отображает информацию о базах данных и таблицах.
Это особенно полезно, когда вы хотите работать со своими базами данных MySQL с помощью сценариев оболочки.
Выполните следующую команду на своем терминале, чтобы отобразить список всех баз данных:
В результате отобразится список всех таблиц:
Вот пример использования команды mysqlshow :
Вы можете отфильтровать вывод с помощью команды grep .
Выводы
Чтобы получить информацию о таблицах в базе данных MySQL, используйте команду SHOW TABLES .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник