GeekBrains
РОСБАНК [CPS] RU
Dfsport
↑↑

↓↓
Флаг России Флаг Англии
🏠 | 💻 PC | Базы данных |

Базы данных

Про Postgresql есть отдельная статья

Подключение к базе даных MySQL

Из консоли наберите

mysql -h ip_вашей_базы_данных -u имя_пользователя -p

Нажмите Enter и введите пароль.

Если вы подлючаетеся к базе данных своего сайта и не знаете ip сделайте в консоли.

ping имя_вашего_сайта

Например, сайт andreyolegovich.ru имеет IP 87.236.19.34

Базы данных изображение с сайта www.andreyolegovich.ru

После ввода пароля должно появиться приветствие MySQL

Базы данных изображение с сайта www.andreyolegovich.ru

Посмотреть все базы данных можно с помощью команды

show databases;

Обратите внимание на точку с запятой в конце

Выбрать определённую БД

use имя_базы_данных

Как узнать какие таблицы находятся в БД MySQL

Посмотреть список содержащихся в БД таблиц

show tables;

Как посмотреть содержимое таблицы MySQL

Посмотреть структуру определённой таблицы

describe имя_таблицы;

Посмотреть содержание определённой таблицы

SELECT * FROM ;

Упорядоченный по 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:

Типы столбцов (mysql.ru)

ALTER TABLE имя_таблицы ADD Body text;

Как добавить строку в таблицу БД

Добавляем запись в таблицу с названием Имя_таблицы

INSERT INTO Имя_таблицы VALUES(100, 'Компания', 'Страна', 'Что-то ещё');

Как удалить строку в таблице БД

Удалить строку с ID 1 в таблице с названием Имя_таблицы

DELETE FROM Имя_таблицы WHERE ID='1';

Как изменить значение в таблице MySQL

Изменить поле Country на Russia у записи с ID 7

UPDATE имя_таблицы SET Country = 'Russia' WHERE ID = '7';

Как найти все таблицы с определённым столбцом

Ищем по всей базе данных таблицы у которых есть столбец с именем Name

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'Name';

Как обратиться к базе данных с помощью PHP

<?php $connection = mysql_connect("localhost", "Имя_БД" , "Пароль к БД для localhost подключения"); $db = mysql_select_db("Имя_БД"); if(!$connection || !$db) { mysql_error(); } ?> <?php mysql_connect('localhost', 'Имя_БД','Пароль к БД для localhost подключения'); mysql_select_db('Имя_БД'); $res = mysql_query("SELECT * FROM `Название_таблицы`") or die(mysql_error()); echo' <table border="1"> <tr> <td>ID</td> <td>Company</td> <td>Country</td> </tr>'; while($row = mysql_fetch_assoc($res)) { echo ' <tr> <td>'.$row['ID'].'</td> <td>'.$row['Company'].'</td> <td>'.$row['Country'].' </tr>'; } echo ' </table>'; echo' <form enctype="multipart/form-data" action="php_scripts/sort_01_mysql.php" method="get"><br> <input type="submit" value="Sort"></form>'; echo' <form enctype="multipart/form-data" action="php_scripts/clear_filter_01_mysql.php" method="get"><br> <input type="submit" value="Clear Filtering"></form>';

http://www.php.su/mysql_query

http://www.quizful.net/test
Чтобы подлючиться к Microsoft MS SQL нужно предварительно установить софт https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools#ubuntu

Ошибки

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)

Базы данных изображение с сайта www.andreyolegovich.ru Microsoft SQL Server Management Studio Error 4064

Перейдите в Options

Microsoft SQL Server Management Studio SQL Server Options

Если в поле Connect to database: стоит <default> замените его на имя Вашей базы данных.

Microsoft SQL Server Management Studio Error 4064 SQL Server Connection Properties

В данном примере вместо andreyolegovich.ru_db должно быть имя базы данных, к которой Вы хотите подлючиться.

Microsoft SQL Server Management Studio Error 4064 SQL Server Connection Properties

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 < ‘100500’) order by number;

Примеры скиптов

Подразумевается, что мы работаем из Bash под Windows как её установить - читайте здесь

Создадим файл script

touch script

Отредактируем его, например, редактором vi

vi script

mysql -h XXX.XXX.XXX.XXX -u username -p <<MY_QUERY USE db_name; SHOW tables; MY_QUERY

Где XXX.XXX.XXX.XXX - IP адрес сервера на котором установлена БД

username нужно заменить на настоящее имя пользователя БД

db_name - заменить на настоящее имя БД.

Вполне возможен вариант, когда username и db_name одинаковые

bash script

Enter password:

Вводим пароль

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

Нетология

Если сайт не помог, извиняемся за потраченное время - хочу заверить, что мы стараемся не попадать в нерелевантные запросы, но тем не менее не всегда успеваем обновлять ключевые слова. Ну и контролировать поисковую выдачу, конечно, невозможно.

Например: у нас есть статья про аэропорт Хельсинки и про аэропорт Риги но в выдаче по Риге всё равно статья про Хельсинки.

Если статья Вам помогла, нажимайте ДА. Так мы поймём, что переделывать её не нужно.

Занятно наблюдать в вебвизоре, как люди копируют текст, например вежливого отказа в трудоустройстве на английском но игнорируют кнопку ДА.

Сделаем поиск лучше!

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: