SlideShare a Scribd company logo
1 of 19
Download to read offline
Создание таблиц (SQL DDL)
Таблицы в базе данных создаются с помощью
оператора CREATE. Синтаксис для его использования:
CREATE TABLE (
{
{имя столбца}
{тип данных}
[значение по умолчанию]
[список правил целостности]
}+
)
Типы данных
(наиболее распространенные)
•	 целочисленные значения;
•	 вещественные значения;
•	 строки фиксированной длины;
•	 строки переменной длины;
•	 дата и время.
Целочисленные значения
TINYINT 1 байт
SMALLINT 2 байта
INT 4 байта
BIGINT 8 байт
Вещественные числа		 
• FLOAT 4 байта (DOUBLE)
(числа с плавающей точкой).
• DECIMAL[(M[,D])] – неупакованное число с плавающей
точкой (хранится в виде строки).
• Для значений, которые будут использованы для
вычислений, лучше использовать FLOAT.
• Для значений, которые будут использованы для
сравнений с другими значениями, лучше использовать
DECIMAL.
Строковый тип данных		     
• Char(n) при хранении дополняются справа
пробелами до заданной длины n, если фактическая
длина строки меньше n.
• Varchar(n) поле переменной длины – вместе
с содержательными данными хранится длина
строки, пробелами не дополняется.
• 1	<=	n	<=	255
Дата-время			
• DATETIME, DATE, TIMESTAMP, TIME и YEAR
• ‘YYYY-MM-DD HH:MM:SS‘
• Тип столбца TIMESTAMP -позволяет
автоматически сохранять время изменения/
добавления строки.
Типы данных MySQL							
• Реализация SQL в контексте СУБД MySQL
(http://dev.mysql.com/downloads/mysql/).
• Простейшие типы данных:
• INTEGER – целые значения;
• REAL – вещественные значения;
• CHAR(N) – строки фиксированной длины (n символов);
• VARCHAR(N) – строки переменной длины (максимально – n
символов);
• DATE – дата и время.
Пример: создание
таблицы (в среде MYSQL)
CREATE DATABASE temp;
USE temp;
CREATE TABLE person
(PersonId INTEGER,
PersonName VARCHAR(50),
BirthDate DATE,
BirthPlace VARCHAR(50),
Address VARCHAR(50)
);
Просмотр структуры
созданной таблицы
Оператор DESCRIBE.
Синтаксис:
DESCRIBE <имя таблицы>
Пример: выполнение
команды DESCRIBE
DESCRIBE person;
Модификация структуры
таблицы
Оператор ALTER TABLE.
Упрощенный синтаксис:
ALTER TABLE <имя таблицы>
{{ ADD| DROP | MODIFY} COLUMN 	
имя столбца 	
тип	
[значение по умолчанию]	
список правил целостности]
}+
Пример: модификация
структуры таблицы
ALTER TABLE person ADD COLUMN phone INTEGER;
ALTER TABLE person MODIFY COLUMN phone
VARCHAR(11);
DESCRIBE person;
ALTER TABLE person DROP COLUMN phone;
Удаление таблиц
•	 Оператора DROP.
•	 Синтаксис для его использования:
DROP TABLE <имя таблицы>
Добавление записей в таблицу
•	 Оператор INSERT INTO.
•	 Синтаксис для его использования:
INSERT INTO <table-name> [(column1, …,columnn)]
values (value1, …,valuen)
INSERT INTO <table-name> [(column1, …,columnn)]
<select-statement>
 
Пример: добавление
записей в таблицу
INSERT INTO person (PersonId, PersonName, BirthDate, BirthPlace, Address)
VALUES(1, 'Андрей Иванов', '1995-01-25', 'Санкт-Петербург', 'Невский пр., д.11');
INSERT INTO person
VALUES(2, 'Василий Семенов', '1995-02-20', 'Санкт-Петербург', 'Большой пр., д.17');
Удаление записей из таблицы
•	 Два оператора: DELETE и TRUNCATE.
•	 Синтаксис для использования:
DELETE FROM <имя таблицы> [WHERE <condition>]
TRUNCATE TABLE <имя таблицы>
 
Пример: удаления записей
из таблицы
DELETE FROM person WHERE PersonId = 1;
TRUNCATE TABLE person;
Редактирование записей
в таблице
•	 Оператор UPDATE.
•	 Синтаксис:
UPDATE <имя таблицы>
SET column1 = expression1,
. . .
columnm = expressionm
[WHERE <condition>]
 
Пример: редактирование
записей в таблице
UPDATE person SET Address = ‘ул. Садовая, дом 4’, BirthPlace = ‘Ярославль’
WHERE PersonId = 1;
UPDATE person SET PersonId = PersonId * 10;

More Related Content

Similar to 15 - Базы данных. Создание и сопровождение таблиц

Разработка бизнес приложений (5)
Разработка бизнес приложений (5)Разработка бизнес приложений (5)
Разработка бизнес приложений (5)Alexander Gornik
 
СУБД осень 2012 Лекция 2
СУБД осень 2012 Лекция 2СУБД осень 2012 Лекция 2
СУБД осень 2012 Лекция 2Technopark
 
0039
00390039
0039JIuc
 
16 - Базы данных. Правила целостности
16 - Базы данных. Правила целостности16 - Базы данных. Правила целостности
16 - Базы данных. Правила целостностиRoman Brovko
 
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQLCodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQLCodeFest
 
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьТо, что вы хотели знать о HandlerSocket, но не смогли нагуглить
То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьphp-user-group-minsk
 
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить / Сергей Авер...
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить / Сергей Авер...То, что вы хотели знать о HandlerSocket, но не смогли нагуглить / Сергей Авер...
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить / Сергей Авер...Ontico
 
Новые возможности Firebird 2.1 (in Russian, Vlad Khorsun)
Новые возможности Firebird 2.1 (in Russian, Vlad Khorsun)Новые возможности Firebird 2.1 (in Russian, Vlad Khorsun)
Новые возможности Firebird 2.1 (in Russian, Vlad Khorsun)Alexey Kovyazin
 
Web весна 2012 лекция 5
Web весна 2012 лекция 5Web весна 2012 лекция 5
Web весна 2012 лекция 5Technopark
 
Язык Html
Язык HtmlЯзык Html
Язык HtmlTitenko1
 
SQL-ник DevDay. Каменский. Расширенный SQL в MySQL и PostgreSQL. Сравнение во...
SQL-ник DevDay. Каменский. Расширенный SQL в MySQL и PostgreSQL. Сравнение во...SQL-ник DevDay. Каменский. Расширенный SQL в MySQL и PostgreSQL. Сравнение во...
SQL-ник DevDay. Каменский. Расширенный SQL в MySQL и PostgreSQL. Сравнение во...DevDay
 
Sequel — механизм доступа к БД, написанный на Ruby
Sequel — механизм доступа к БД, написанный на RubySequel — механизм доступа к БД, написанный на Ruby
Sequel — механизм доступа к БД, написанный на RubyAlexey Nayden
 
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So..."AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...Alex Tumanoff
 
Взаимодействие с источниками данных в GLPK
Взаимодействие с источниками данных в GLPKВзаимодействие с источниками данных в GLPK
Взаимодействие с источниками данных в GLPKGleb Zakhodiakin
 
0041
00410041
0041JIuc
 

Similar to 15 - Базы данных. Создание и сопровождение таблиц (20)

Разработка бизнес приложений (5)
Разработка бизнес приложений (5)Разработка бизнес приложений (5)
Разработка бизнес приложений (5)
 
Управление данными (sql)
Управление данными (sql)Управление данными (sql)
Управление данными (sql)
 
СУБД осень 2012 Лекция 2
СУБД осень 2012 Лекция 2СУБД осень 2012 Лекция 2
СУБД осень 2012 Лекция 2
 
0039
00390039
0039
 
16 - Базы данных. Правила целостности
16 - Базы данных. Правила целостности16 - Базы данных. Правила целостности
16 - Базы данных. Правила целостности
 
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQLCodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
 
Бекенды dplyr
Бекенды dplyrБекенды dplyr
Бекенды dplyr
 
My sql 0
My sql 0My sql 0
My sql 0
 
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьТо, что вы хотели знать о HandlerSocket, но не смогли нагуглить
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
 
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить / Сергей Авер...
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить / Сергей Авер...То, что вы хотели знать о HandlerSocket, но не смогли нагуглить / Сергей Авер...
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить / Сергей Авер...
 
Новые возможности Firebird 2.1 (in Russian, Vlad Khorsun)
Новые возможности Firebird 2.1 (in Russian, Vlad Khorsun)Новые возможности Firebird 2.1 (in Russian, Vlad Khorsun)
Новые возможности Firebird 2.1 (in Russian, Vlad Khorsun)
 
Web весна 2012 лекция 5
Web весна 2012 лекция 5Web весна 2012 лекция 5
Web весна 2012 лекция 5
 
Язык Html
Язык HtmlЯзык Html
Язык Html
 
лабраб 7
лабраб 7лабраб 7
лабраб 7
 
лекц8
лекц8лекц8
лекц8
 
SQL-ник DevDay. Каменский. Расширенный SQL в MySQL и PostgreSQL. Сравнение во...
SQL-ник DevDay. Каменский. Расширенный SQL в MySQL и PostgreSQL. Сравнение во...SQL-ник DevDay. Каменский. Расширенный SQL в MySQL и PostgreSQL. Сравнение во...
SQL-ник DevDay. Каменский. Расширенный SQL в MySQL и PostgreSQL. Сравнение во...
 
Sequel — механизм доступа к БД, написанный на Ruby
Sequel — механизм доступа к БД, написанный на RubySequel — механизм доступа к БД, написанный на Ruby
Sequel — механизм доступа к БД, написанный на Ruby
 
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So..."AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
 
Взаимодействие с источниками данных в GLPK
Взаимодействие с источниками данных в GLPKВзаимодействие с источниками данных в GLPK
Взаимодействие с источниками данных в GLPK
 
0041
00410041
0041
 

More from Roman Brovko

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task NetworkingRoman Brovko
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3Roman Brovko
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernetRoman Brovko
 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2Roman Brovko
 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1Roman Brovko
 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flashRoman Brovko
 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2CRoman Brovko
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uartRoman Brovko
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorRoman Brovko
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwmRoman Brovko
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsRoman Brovko
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_worldRoman Brovko
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisitesRoman Brovko
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advancedRoman Brovko
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advancedRoman Brovko
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advancedRoman Brovko
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окруженияRoman Brovko
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advancedRoman Brovko
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basicsRoman Brovko
 

More from Roman Brovko (20)

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task Networking
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernet
 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2
 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1
 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flash
 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2C
 
Glesk worshop
Glesk worshopGlesk worshop
Glesk worshop
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uart
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensor
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwm
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttons
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_world
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisites
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advanced
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advanced
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advanced
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окружения
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advanced
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basics
 

15 - Базы данных. Создание и сопровождение таблиц