Skip to content

Commit 999b909

Browse files
authored
Merge pull request #4 from fraucs/master
Add sql lifehacks
2 parents cec62e5 + 832080e commit 999b909

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed
+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
SELECT
2+
CONCAT(
3+
'ALTER TABLE `',
4+
TABLE_NAME,
5+
'` ',
6+
'MODIFY COLUMN `',
7+
COLUMN_NAME,
8+
'` ',
9+
IF(UPPER(DATA_TYPE) = 'INT',
10+
REPLACE(
11+
SUBSTRING_INDEX(
12+
UPPER(COLUMN_TYPE),
13+
')',
14+
1
15+
),
16+
'INT',
17+
'INTEGER'
18+
),
19+
UPPER(COLUMN_TYPE)
20+
),
21+
') UNSIGNED NOT NULL AUTO_INCREMENT;'
22+
)
23+
FROM information_schema.COLUMNS
24+
WHERE TABLE_SCHEMA = '<DATABASE>' AND
25+
EXTRA = UPPER('AUTO_INCREMENT')
26+
ORDER BY TABLE_NAME ASC

mysql/backupCreationIndexes.sql

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
SELECT
2+
CONCAT(
3+
'ALTER TABLE `',
4+
TABLE_NAME,
5+
'` ',
6+
'ADD ',
7+
IF(NON_UNIQUE = 1,
8+
CASE UPPER(INDEX_TYPE)
9+
WHEN 'FULLTEXT' THEN 'FULLTEXT INDEX'
10+
WHEN 'SPATIAL' THEN 'SPATIAL INDEX'
11+
ELSE CONCAT('INDEX `',
12+
INDEX_NAME,
13+
'` USING ',
14+
INDEX_TYPE
15+
)
16+
END,
17+
IF(UPPER(INDEX_NAME) = 'PRIMARY',
18+
CONCAT('PRIMARY KEY USING ',
19+
INDEX_TYPE
20+
),
21+
CONCAT('UNIQUE INDEX `',
22+
INDEX_NAME,
23+
'` USING ',
24+
INDEX_TYPE
25+
)
26+
)
27+
),
28+
'(',
29+
GROUP_CONCAT(
30+
DISTINCT
31+
CONCAT('`', COLUMN_NAME, '`')
32+
ORDER BY SEQ_IN_INDEX ASC
33+
SEPARATOR ', '
34+
),
35+
');'
36+
) AS 'Show_Add_Indexes'
37+
FROM information_schema.STATISTICS
38+
WHERE TABLE_SCHEMA = '<DATABASE>'
39+
GROUP BY TABLE_NAME, INDEX_NAME
40+
ORDER BY TABLE_NAME ASC, INDEX_NAME ASC

0 commit comments

Comments
 (0)