271 lines
6.4 KiB
PHP
271 lines
6.4 KiB
PHP
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>SqlFormatter Examples</title>
|
|
<style>
|
|
body {
|
|
font-family: arial;
|
|
}
|
|
|
|
table, td, th {
|
|
border: 1px solid #aaa;
|
|
}
|
|
|
|
table {
|
|
border-width: 1px 1px 0 0;
|
|
border-spacing: 0;
|
|
}
|
|
|
|
td, th {
|
|
border-width: 0 0 1px 1px;
|
|
padding: 5px 10px;
|
|
vertical-align: top;
|
|
}
|
|
|
|
pre {
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<?php
|
|
|
|
require_once(__DIR__.'/../lib/SqlFormatter.php');
|
|
|
|
// Example statements for formatting and highlighting
|
|
$statements = array(
|
|
"SELECT DATE_FORMAT(b.t_create, '%Y-%c-%d') dateID, b.title memo
|
|
FROM (SELECT id FROM orc_scheme_detail d WHERE d.business=208
|
|
AND d.type IN (29,30,31,321,33,34,3542,361,327,38,39,40,41,42,431,4422,415,4546,47,48,'a',
|
|
29,30,31,321,33,34,3542,361,327,38,39,40,41,42,431,4422,415,4546,47,48,'a')
|
|
AND d.title IS NOT NULL AND t_create >=
|
|
DATE_FORMAT((DATE_SUB(NOW(),INTERVAL 1 DAY)),'%Y-%c-%d') AND t_create
|
|
< DATE_FORMAT(NOW(), '%Y-%c-%d') ORDER BY d.id LIMIT 2,10) a,
|
|
orc_scheme_detail b WHERE a.id = b.id",
|
|
|
|
"SELECT * from Table1 LEFT
|
|
OUTER JOIN Table2 on Table1.id = Table2.id",
|
|
|
|
"SELECT * FROM MyTable WHERE id = 46",
|
|
|
|
"SELECT count(*),`Column1` as count,`Testing`, `Testing Three` FROM `Table1`
|
|
WHERE Column1 = 'testing' AND ( (`Column2` = `Column3` OR Column4 >= NOW()) )
|
|
GROUP BY Column1 ORDER BY Column3 DESC LIMIT 5,10",
|
|
|
|
"select * from `Table`, (SELECT group_concat(column1) as col FROM Table2 GROUP BY category)
|
|
Table2, Table3 where Table2.col = (Table3.col2 - `Table`.id)",
|
|
|
|
"insert ignore into Table3 (column1, column2) VALUES ('test1','test2'), ('test3','test4');",
|
|
|
|
"UPDATE MyTable SET name='sql', category='databases' WHERE id > '65'",
|
|
|
|
"delete from MyTable WHERE name LIKE \"test%\"",
|
|
|
|
"SELECT * FROM UnmatchedParens WHERE ( A = B)) AND (((Test=1)",
|
|
|
|
"-- This is a comment
|
|
SELECT
|
|
/* This is another comment
|
|
On more than one line */
|
|
Id #This is one final comment
|
|
as temp, DateCreated as Created FROM MyTable;",
|
|
);
|
|
|
|
// Example statements for splitting SQL strings into individual queries
|
|
$split_statements = array(
|
|
"DROP TABLE IF EXISTS MyTable;
|
|
CREATE TABLE MyTable ( id int );
|
|
INSERT INTO MyTable (id)
|
|
VALUES
|
|
(1),(2),(3),(4);
|
|
SELECT * FROM MyTable;",
|
|
|
|
"SELECT \";\"; SELECT \";\\\"; a;\";
|
|
SELECT \";
|
|
abc\";
|
|
SELECT a,b #comment;
|
|
FROM test;",
|
|
|
|
"
|
|
-- Drop the table first if it exists
|
|
DROP TABLE IF EXISTS MyTable;
|
|
|
|
-- Create the table
|
|
CREATE TABLE MyTable ( id int );
|
|
|
|
-- Insert values
|
|
INSERT INTO MyTable (id)
|
|
VALUES
|
|
(1),(2),(3),(4);
|
|
|
|
-- Done",
|
|
);
|
|
|
|
// Example statements for removing comments
|
|
$comment_statements = array(
|
|
"-- This is a comment
|
|
SELECT
|
|
/* This is another comment
|
|
On more than one line */
|
|
Id #This is one final comment
|
|
as temp, DateCreated as Created FROM MyTable;",
|
|
);
|
|
?>
|
|
|
|
|
|
<h1>Formatting And Syntax Highlighting</h1>
|
|
|
|
<div>
|
|
Usage:
|
|
<pre>
|
|
<?php highlight_string('<?php' . "\n" . '$formatted = SqlFormatter::format($sql);' . "\n" . '?>'); ?>
|
|
</pre>
|
|
</div>
|
|
<table>
|
|
<tr>
|
|
<th>Original</th>
|
|
<th>Formatted And Highlighted</th>
|
|
</tr>
|
|
<?php foreach ($statements as $sql) { ?>
|
|
<tr>
|
|
<td>
|
|
<pre><?php echo $sql; ?></pre>
|
|
</td>
|
|
<td><?php echo SqlFormatter::format($sql); ?></td>
|
|
</tr>
|
|
<?php } ?>
|
|
</table>
|
|
|
|
|
|
<h1>Formatting Only</h1>
|
|
|
|
<div>
|
|
Usage:
|
|
<pre>
|
|
<?php highlight_string('<?php' . "\n" . '$formatted = SqlFormatter::format($sql, false);' . "\n" . '?>'); ?>
|
|
</pre>
|
|
</div>
|
|
<table>
|
|
<tr>
|
|
<th>Original</th>
|
|
<th>Formatted</th>
|
|
</tr>
|
|
<?php foreach ($statements as $sql) { ?>
|
|
<tr>
|
|
<td>
|
|
<pre><?php echo $sql; ?></pre>
|
|
</td>
|
|
<td><pre><?php echo htmlentities(SqlFormatter::format($sql,false)); ?></pre></td>
|
|
</tr>
|
|
<?php } ?>
|
|
</table>
|
|
|
|
|
|
<h1>Syntax Highlighting Only</h1>
|
|
|
|
<div>
|
|
Usage:
|
|
<pre>
|
|
<?php highlight_string('<?php' . "\n" . '$highlighted = SqlFormatter::highlight($sql);' . "\n" . '?>'); ?>
|
|
</pre>
|
|
</div>
|
|
<table>
|
|
<tr>
|
|
<th>Original</th>
|
|
<th>Highlighted</th>
|
|
</tr>
|
|
<?php foreach ($statements as $sql) { ?>
|
|
<tr>
|
|
<td>
|
|
<pre><?php echo $sql; ?></pre>
|
|
</td>
|
|
<td><?php echo SqlFormatter::highlight($sql); ?></td>
|
|
</tr>
|
|
<?php } ?>
|
|
</table>
|
|
|
|
|
|
<h1>Compress Query</h1>
|
|
|
|
<div>
|
|
Usage:
|
|
<pre>
|
|
<?php highlight_string('<?php' . "\n" . '$compressed = SqlFormatter::compress($sql);' . "\n" . '?>'); ?>
|
|
</pre>
|
|
</div>
|
|
<table>
|
|
<tr>
|
|
<th>Original</th>
|
|
<th>Compressed</th>
|
|
</tr>
|
|
<?php foreach ($statements as $sql) { ?>
|
|
<tr>
|
|
<td>
|
|
<pre><?php echo $sql; ?></pre>
|
|
</td>
|
|
<td><pre><?php echo SqlFormatter::compress($sql); ?></pre></td>
|
|
</tr>
|
|
<?php } ?>
|
|
</table>
|
|
|
|
|
|
<h1>Splitting SQL Strings Into Individual Queries</h1>
|
|
|
|
<div>
|
|
Usage:
|
|
<pre>
|
|
<?php highlight_string('<?php' . "\n" . '$queries = SqlFormatter::splitQuery($sql);' . "\n" . '?>'); ?>
|
|
</pre>
|
|
</div>
|
|
<table>
|
|
<tr>
|
|
<th>Original</th>
|
|
<th>Split</th>
|
|
</tr>
|
|
<?php foreach ($split_statements as $sql) { ?>
|
|
<tr>
|
|
<td>
|
|
<pre><?php echo SqlFormatter::highlight($sql); ?></pre>
|
|
</td>
|
|
<td><?php
|
|
$queries = SqlFormatter::splitQuery($sql);
|
|
echo "<ol>";
|
|
foreach ($queries as $query) {
|
|
echo "<li><pre>" . SqlFormatter::highlight($query) . "</pre></li>";
|
|
}
|
|
echo "</ol>";
|
|
?></td>
|
|
</tr>
|
|
<?php } ?>
|
|
</table>
|
|
|
|
|
|
<h1>Removing Comments</h1>
|
|
|
|
<div>
|
|
Usage:
|
|
<pre>
|
|
<?php highlight_string('<?php' . "\n" . '$nocomments = SqlFormatter::removeComments($sql);' . "\n" . '?>'); ?>
|
|
</pre>
|
|
</div>
|
|
<table>
|
|
<tr>
|
|
<th>Original</th>
|
|
<th>Comments Removed</th>
|
|
</tr>
|
|
<?php foreach ($comment_statements as $sql) { ?>
|
|
<tr>
|
|
<td>
|
|
<pre><?php echo SqlFormatter::highlight($sql); ?></pre>
|
|
</td>
|
|
<td>
|
|
<pre><?php echo SqlFormatter::highlight(SqlFormatter::removeComments($sql)) ?></pre>
|
|
</td>
|
|
</tr>
|
|
<?php } ?>
|
|
</table>
|
|
|
|
</body>
|
|
</html>
|