понедельник, 14 мая 2012 г.

MySQL. chapter 2

Вход в mysql:

# mysql -u root -p
Enter password:
mysql>

Создание базы с именем db_name:

mysql> create database db_name;

Просмотр списка БД:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| db_name            |
+--------------------+
3 rows in set (0.00 sec)

Использование БД db_name:

mysql> use db_name;

Создание таблицы table_name:

create table table_name (
id INT AUTO_INCREMENT PRIMARY KEY,
name varchar(20),
dept varchar(10),
salary int(10)
);
    Вывод при копи-пасте:
mysql> create table employee (
    -> id INT AUTO_INCREMENT PRIMARY KEY,
    -> name varchar(20),
    -> dept varchar(10),
    -> salary int(10)
    -> );
Query OK, 0 rows affected (0.00 sec)

Просмотр таблицы в БД:

mysql> show tables;
+------------------------+
| Tables_in_thegeekstuff |
+------------------------+
| table_name             |
+------------------------+
1 row in set (0.00 sec)

Просмотр дескрипшенов таблицы:

mysql> desc table_name;
+------+-----------+----+---+-------+--------------+
|Field |Type       |Null|Key|Default|Extra         |
+------+-----------+----+---+-------+--------------+
|id    |int(11)    |NO  |PRI|NULL   |auto_increment|
|name  |varchar(20)|YES |   |NULL   |              |
|dept  |varchar(10)|YES |   |NULL   |              |
|salary|int(10)    |YES |   |NULL   |              |
+------+-----------+----+---+-------+--------------+
4 rows in set (0.01 sec)

Вставка данных в таблицу:

insert into table_name values(100,'Thomas','Sales',5000);
insert into table_name values(200,'Jason','Technology',5500);
insert into table_name values(300,'Mayla','Technology',7000);
insert into table_name values(400,'Nisha','Marketing',9500);
insert into table_name values(500,'Randy','Technology',6000);

Для вставки только в определенные колонки необходимо указать имена этих колонок:

mysql> insert into table_name(name,dept) values('Ritu', 'Accounting');
Query OK, 1 row affected (0.01 sec)

Извлечение всех записей из таблицы:

mysql> select * from table_name;
+-----+--------+------------+--------+
| id  | name   | dept       | salary |
+-----+--------+------------+--------+
| 100 | Thomas | Sales      |   5000 |
| 200 | Jason  | Technology |   5500 |
| 300 | Mayla  | Technology |   7000 |
| 400 | Nisha  | Marketing  |   9500 |
| 500 | Randy  | Technology |   6000 |
| 501 | Ritu   | Accounting |   NULL |
+-----+--------+------------+--------+
6 rows in set (0.00 sec)

Просмотр содержимого только определенных колонок:

mysql>  select name, dept from table_name;

Вывод всех данных из таблицы с условием(значение строки в колонке dept равно 'Technology' и значение строки в колонке salary больше или равно 6000):

mysql> select * from employee where dept = 'Technology' and salary >= 6000;
+-----+--------+------------+--------+
| id  | name   | dept       | salary |
+-----+--------+------------+--------+
| 300 | Mayla  | Technology |   7000 |
| 500 | Randy  | Technology |   6000 |
+-----+--------+------------+--------+
2 rows in set (0.00 sec)
source