I was re-reading Exceptional C++ book and I suddenly came across a comment.
My mind dwelt in the 1996 MySQL class....it was horrible. And not to mention the only CS class aside from networking I found boring. Data is just so boring...
I personally find the copy-pasted code
The documents do have sense of humor in them. I find them well-worth to read it, but sadly enough, not the language itself. Documents are great. MySQL itself is not....
Edit : If not exists is incorrect in English. Well you might say, "so what"? Because IS-A
-OBJECT is incorrect also in Java. But if MySQL tries to be high level, they should do it properly.
Code:
Horrible code you don't want to see
(imagine code here) // Well, it's better than MySQL!
Code:
DROP DATABASE databaseName -- Delete the database (irrecoverable!)
DROP DATABASE IF EXISTS databaseName -- Delete if it exists
CREATE DATABASE databaseName -- Create a new database
CREATE DATABASE IF NOT EXISTS databaseName -- Create only if it does not exists
SHOW DATABASES -- Show all the databases in this server
USE databaseName -- Set the default (current) database
SELECT DATABASE() -- Show the default database
SHOW CREATE DATABASE databaseName -- Show the CREATE DATABASE statement
-- Table-Level
DROP TABLE [IF EXISTS] tableName, ...
CREATE TABLE [IF NOT EXISTS] tableName (
columnName columnType columnAttribute, ...
PRIMARY KEY(columnName),
FOREIGN KEY (columnNmae) REFERENCES tableName (columnNmae)
)
SHOW TABLES -- Show all the tables in the default database
DESCRIBE|DESC tableName -- Describe the details for a table
ALTER TABLE tableName ... -- Modify a table, e.g., ADD COLUMN and DROP COLUMN
ALTER TABLE tableName ADD columnDefinition
ALTER TABLE tableName DROP columnName
ALTER TABLE tableName ADD FOREIGN KEY (columnNmae) REFERENCES tableName (columnNmae)
ALTER TABLE tableName DROP FOREIGN KEY constraintName
SHOW CREATE TABLE tableName -- Show the CREATE TABLE statement for this tableName
-- Row-Level
INSERT INTO tableName
VALUES (column1Value, column2Value,...) -- Insert on all Columns
INSERT INTO tableName
VALUES (column1Value, column2Value,...), ... -- Insert multiple rows
INSERT INTO tableName (column1Name, ..., columnNName)
VALUES (column1Value, ..., columnNValue) -- Insert on selected Columns
DELETE FROM tableName WHERE criteria
UPDATE tableName SET columnName = expr, ... WHERE criteria
SELECT * | column1Name AS alias1, ..., columnNName AS aliasN
FROM tableName
WHERE criteria
GROUP BY columnName
ORDER BY columnName ASC|DESC, ...
HAVING groupConstraints
LIMIT count | offset count
-- Others
SHOW WARNINGS; -- Show the warnings of the previous statement
I personally find the copy-pasted code
- Boring at its best. Too high level for my C test. Even as compared to C#.
- Syntax is strange for tradational programmers
- Database is not used in computer science if you are going to be a computer scientist instead of a web developer.
- It's known to have security bugs (99 little bugs, 99 little bugs, track one down, patch one down, 127 little bugs, 127 little bugs....)
The documents do have sense of humor in them. I find them well-worth to read it, but sadly enough, not the language itself. Documents are great. MySQL itself is not....
Edit : If not exists is incorrect in English. Well you might say, "so what"? Because IS-A
Last edited: