У меня эта необходимость возникаетне так часто, поэтому часто забываю синтаксис запросов и некоторые команды, а это маленькая памятка..
Подсоеднение к mysqld
mysql -hхост-u пользователь -pпароль
Посмотреть, какие есть БД
Примечание: все введенные команды должны заканчиваться ;
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.01 sec)
Выбор базы
mysql> use mysql
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> SHOW TABLES;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
23 rows in set (0.00 sec)
Просмотр прав доступа
mysql> select user,host,password from user;
+---------+-----------+-------------------------------------------+
| user | host | password |
+---------+-----------+-------------------------------------------+
| root | localhost | *C142FB215B6E05B7C134B1A653AD4B455157FD79 |
| root | FreeBDSM | *C142FB215B6E05B7C134B1A653AD4B455157FD79 |
| root | 127.0.0.1 | *C142FB215B6E05B7C134B1A653AD4B455157FD79 |
+---------+-----------+-------------------------------------------+
3 rows in set (0.00 sec)
Установка нового проля для всех учетных хаписей root
mysql> UPDATE user SET Password=PASSWORD ('NEWpasword') WHERE user='root';
Удаление пользователя без имени (было и такое)
mysql> delete from user where user='';
Создаем пользователя user с паролем stupid с доступом с ip адресов localhost и ip.add.re.ss
mysql> INSERT INTO user (Host,User, Password) VALUES('localhost','user',PASSWORD('stupid'));
mysql> INSERT INTO user (Host,User, Password) VALUES('ip.add.re.ss','user',PASSWORD('stupid'));
Дать полные права пользователю your_mysql_name на базу your_db
mysql> GRANT ALL ON your_db.* TO your_mysql_name;
Просмотр структуры таблицы
mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
Field - имя столбца, Type - тип данных, к которому относится этот столбец, NULL указывает, может ли данный столбец содержать значения NULL, Key - является ли этот столбец индексным, и, наконец, Default указывает значение данного столбца по умолчанию.
Добавление пользователя(monty) с полными правами к его базе(montydb) и возмможностью подсоединения с localhost, более подробно здесь
mysql> GRANT ALL PRIVILEGES ON montydb.* TO monty@localhost
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
Создание таблицы, с автоинкриментом и PRIMARY KEY
mysql> CREATE TABLE tariff_groups (num tinyint(2) NOT NULL AUTO_INCREMENT, PRIMARY KEY (num), name TINYTEXT NOT NULL);
Изменение структуры таблицы. Поменяем тип данных и установим NOT NULL
mysql> ALTER TABLE tariff_groups CHANGE name name VARCHAR(24) NOT NULL;
Вставляем значение в таблицу
INSERT INTO tariff_groups VALUES ('1','Local network');
Кодировки
Взято здесь
Установка кодировок по умолчанию в файле my.cnf
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
init-connect='SET NAMES utf8;'
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
Вывод используемых кодировок
mysql> show variables like 'char%';
Также можно выполнить команду после конекта
mysql> set names 'utf8';
Просмотр кодировки для БД (кодировка наледуется для таблиц этой же базы)
mysql> show create database yourdatabase;
+-------------+----------------------------------------------------------------------+
| Database | Create Database |
+-------------+----------------------------------------------------------------------+
| yourdatabase | CREATE DATABASE `yourdatabase` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+-------------+----------------------------------------------------------------------+
1 row in set (0.00 sec)
Справочное руководство по MySQL
Отлично.
ОтветитьУдалить