· 7 years ago · Dec 08, 2018, 11:36 AM
1CREATE DATABASE test1;
2
3CREATE DATABASE IF NOT EXISTS test1;
4CREATE DATABASE `test second`;
5
6SHOW DATABASES;
7
8DROP DATABASE `test second`;
9DROP DATABASE IF EXISTS `test second`;
10
11CREATE SCHEMA test2;
12SHOW DATABASES;
13SHOW SCHEMAS;
14
15--выбрать базу Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹
16USE test1;
17SELECT database();
18
19--Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð°
20CREATE TEMPORARY TABLE qwerty(
21 idqwerty SMALLINT
22);
23SHOW TABLES;
24DESC qwerty;
25
26--обычное Ñоздание таблицы
27CREATE TABLE tbl1(
28 id SMALLINT PRIMARY KEY AUTO_INCREMENT,
29 str VARCHAR(255) NOT NULL DEFAULT 'привет',
30 genre SET('клаÑÑика','комп','худ','фан')
31);
32SHOW TABLES;
33DESC tbl1;
34
35--Ñоздание таблицы по выражению
36CREATE TABLE tbl2 AS
37SELECT user,host FROM mysql.user;
38SHOW TABLES;
39DESC tbl2;
40SELECT * FROM tbl2;
41
42--Ñоздание таблицы по LIKE
43CREATE TABLE tbl3 LIKE tbl2;
44SHOW TABLES;
45DESC tbl3;
46SELECT * FROM tbl3;
47
48DROP TABLE tbl3;
49SHOW TABLES;
50
51--Ñоздайте базу данных продуктов!
52
53--Как в конÑоли вызвать SQL-Ñкрипт
54\. C:/mysql/day2.sql
55source C:/mysql/day2.sql
56
57CREATE TABLE tbl4 (
58 ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
59 dt DATETIME DEFAULT CURRENT_TIMESTAMP
60);
61INSERT INTO tbl4(ts) VALUES(NULL);
62SELECT * FROM tbl4;
63
64--как включить логирование команд конÑоли
65\T C:/mysql/day2.log
66
67--уÑтановка популÑрной базы world
68--из конÑоли mysql
69\. C:/mysql/uploads/world.sql
70--из конÑоли
71mysql -uroot -p < C:/mysql/uploads/world.sql
72
73--пример иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ alter
74ALTER TABLE `test1`.`tbl1`
75CHANGE str name VARCHAR(110) AFTER genre,
76ADD COLUMN foo INT NOT NULL AFTER name,
77RENAME TO table1;
78
79SHOW TABLES;
80DESC table1;
81
82ALTER TABLE `test1`.`table1`
83DROP genre;
84SHOW TABLES;
85DESC table1;
86
87--поÑмотреть опиÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸
88SELECT
89 COLUMN_NAME,
90 COLUMN_DEFAULT,
91 IS_NULLABLE,
92 DATA_TYPE,
93 EXTRA,
94 COLUMN_COMMENT
95FROM information_schema.COLUMNS
96WHERE
97 TABLE_SCHEMA = 'test1' AND
98 TABLE_NAME = 'table1';
99
100
101--как Ñоздать индекÑ
102USE test1;
103DESC table1;
104CREATE INDEX ix_name ON table1(name);
105DESC table1;
106
107--поÑмотреть SQL, который ÑоздаÑÑ‚ текущую таблицу
108SHOW CREATE TABLE table1;
109
110CREATE INDEX ix_my ON table1(foo,name);
111DESC table1;
112SHOW CREATE TABLE table1;
113
114
115--пример ÑвÑзанных таблиц
116CREATE TABLE parent (
117 id INT NOT NULL,
118 PRIMARY KEY (id)
119) ENGINE=INNODB;
120
121CREATE TABLE child (
122 id INT,
123 parent_id INT,
124 INDEX par_ind (parent_id),
125 FOREIGN KEY (parent_id) REFERENCES parent(id)
126 ON DELETE CASCADE
127) ENGINE=INNODB;
128
129
130
131INSERT IGNORE INTO table1
132VALUES(5, 'еуые', 234);
133
134INSERT IGNORE INTO table1
135VALUES(NULL, 'ddsf', 12);
136
137INSERT IGNORE INTO table1(name,foo)
138VALUES('aaaa', 1111);
139
140INSERT IGNORE INTO table1(name,foo)
141VALUES('bbbb', 1111),
142('cccc', 2222),
143('dddd', 3333),
144('eeee', 4444),
145('ffff', 7777),
146('gggg', 8888)
147;
148
149INSERT INTO table1
150SET name = 'zzzz', foo = 100500;
151
152INSERT INTO table1
153SELECT NULL,LEFT(name,10),population
154FROM world.country LIMIT 10;
155
156
157SELECT * FROM table1;
158
159--выгрузка табличных данных в файл
160SELECT * INTO OUTFILE 'C:/mysql/uploads/table1.txt'
161FROM test1.table1;
162
163
164LOAD DATA LOCAL INFILE 'C:/mysql/uploads/book1.csv'
165 INTO TABLE table1
166 COLUMNS
167 TERMINATED BY ';'
168 LINES
169 TERMINATED BY '\r\n'
170 IGNORE 1 ROWS;
171
172SELECT * FROM table1;