avatarNaina Chaturvedi

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

20477

Abstract

hljs-keyword">FROM</span> information_schema.tables <span class="hljs-keyword">WHERE</span> table_schema <span class="hljs-operator">=</span> <span class="hljs-string">'public'</span>;

<span class="hljs-comment">-- Create table</span> <span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">TABLE</span> my_table ( id SERIAL <span class="hljs-keyword">PRIMARY</span> KEY, name <span class="hljs-type">VARCHAR</span>(<span class="hljs-number">50</span>), age <span class="hljs-type">INTEGER</span> );

<span class="hljs-comment">-- Delete table</span> <span class="hljs-keyword">DROP</span> <span class="hljs-keyword">TABLE</span> my_table;

<span class="hljs-comment">-- Alter table</span> <span class="hljs-keyword">ALTER</span> <span class="hljs-keyword">TABLE</span> my_table <span class="hljs-keyword">ADD</span> <span class="hljs-keyword">COLUMN</span> email <span class="hljs-type">VARCHAR</span>(<span class="hljs-number">100</span>);

<span class="hljs-comment">-- Create view</span> <span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">VIEW</span> my_view <span class="hljs-keyword">AS</span> <span class="hljs-keyword">SELECT</span> <span class="hljs-operator">*</span> <span class="hljs-keyword">FROM</span> my_table;

<span class="hljs-comment">-- Create trigger</span> <span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">TRIGGER</span> my_trigger BEFORE <span class="hljs-keyword">INSERT</span> <span class="hljs-keyword">ON</span> my_table <span class="hljs-keyword">FOR</span> <span class="hljs-keyword">EACH</span> <span class="hljs-type">ROW</span> <span class="hljs-keyword">EXECUTE</span> <span class="hljs-keyword">FUNCTION</span> my_function();

<span class="hljs-comment">-- Create index</span> <span class="hljs-keyword">CREATE</span> INDEX my_index <span class="hljs-keyword">ON</span> my_table (name);

<span class="hljs-comment">-- Query data from table</span> <span class="hljs-keyword">SELECT</span> <span class="hljs-operator">*</span> <span class="hljs-keyword">FROM</span> my_table;

<span class="hljs-comment">-- Create role</span> <span class="hljs-keyword">CREATE</span> ROLE my_role LOGIN PASSWORD <span class="hljs-string">'mypassword'</span>;

<span class="hljs-comment">-- Change role</span> <span class="hljs-keyword">SET</span> ROLE my_role;

<span class="hljs-comment">-- Performance and statistics</span> EXPLAIN <span class="hljs-keyword">SELECT</span> <span class="hljs-operator">*</span> <span class="hljs-keyword">FROM</span> my_table; ANALYZE my_table;

<span class="hljs-comment">-- MySQL</span>

<span class="hljs-comment">-- MySQL data types</span> <span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">TABLE</span> my_table ( id <span class="hljs-type">INT</span> <span class="hljs-keyword">PRIMARY</span> KEY, name <span class="hljs-type">VARCHAR</span>(<span class="hljs-number">50</span>), age <span class="hljs-type">INT</span> );

<span class="hljs-comment">-- MySQL date and time functions</span> <span class="hljs-keyword">SELECT</span> NOW(); <span class="hljs-keyword">SELECT</span> DATE_FORMAT(date_column, <span class="hljs-string">'%Y-%m-%d'</span>) <span class="hljs-keyword">FROM</span> my_table;

<span class="hljs-comment">-- MySQL CLI commands</span> <span class="hljs-keyword">SHOW</span> DATABASES; USE database_name; <span class="hljs-keyword">SHOW</span> TABLES;

<span class="hljs-comment">-- Work with database and tables</span> <span class="hljs-keyword">CREATE</span> DATABASE my_database; <span class="hljs-keyword">DROP</span> DATABASE my_database; <span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">TABLE</span> my_table ( id <span class="hljs-type">INT</span> <span class="hljs-keyword">PRIMARY</span> KEY, name <span class="hljs-type">VARCHAR</span>(<span class="hljs-number">50</span>), age <span class="hljs-type">INT</span> ); <span class="hljs-keyword">DROP</span> <span class="hljs-keyword">TABLE</span> my_table;

<span class="hljs-comment">-- Work with views and triggers, stored functions</span> <span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">VIEW</span> my_view <span class="hljs-keyword">AS</span> <span class="hljs-keyword">SELECT</span> <span class="hljs-operator">*</span> <span class="hljs-keyword">FROM</span> my_table; <span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">TRIGGER</span> my_trigger BEFORE <span class="hljs-keyword">INSERT</span> <span class="hljs-keyword">ON</span> my_table <span class="hljs-keyword">FOR</span> <span class="hljs-keyword">EACH</span> <span class="hljs-type">ROW</span> <span class="hljs-keyword">BEGIN</span> ... <span class="hljs-keyword">END</span>; <span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">FUNCTION</span> my_function() <span class="hljs-keyword">RETURNS</span> <span class="hljs-type">INT</span> <span class="hljs-keyword">BEGIN</span> ... <span class="hljs-keyword">END</span>;

<span class="hljs-comment">-- Query data from tables</span> <span class="hljs-keyword">SELECT</span> <span class="hljs-operator">*</span> <span class="hljs-keyword">FROM</span> my_table;

<span class="hljs-comment">-- Back up database to SQL file</span> mysqldump <span class="hljs-operator">-</span>u username <span class="hljs-operator">-</span>p database_name <span class="hljs-operator">></span> backup.sql

<span class="hljs-comment">-- Insert, update, delete, repair tables</span> <span class="hljs-keyword">INSERT</span> <span class="hljs-keyword">INTO</span> my_table (id, name, age) <span class="hljs-keyword">VALUES</span> (<span class="hljs-number">1</span>, <span class="hljs-string">'John'</span>, <span class="hljs-number">30</span>); <span class="hljs-keyword">UPDATE</span> my_table <span class="hljs-keyword">SET</span> age <span class="hljs-operator">=</span> <span class="hljs-number">35</span> <span class="hljs-keyword">WHERE</span> id <span class="hljs-operator">=</span> <span class="hljs-number">1</span>; <span class="hljs-keyword">DELETE</span> <span class="hljs-keyword">FROM</span> my_table <span class="hljs-keyword">WHERE</span> id <span class="hljs-operator">=</span> <span class="hljs-number">1</span>; REPAIR <span class="hljs-keyword">TABLE</span> my_table;

<span class="hljs-comment">-- Aggregate functions</span> <span class="hljs-keyword">SELECT</span> <span class="hljs-built_in">COUNT</span>(<span class="hljs-operator">*</span>) <span class="hljs-keyword">FROM</span> my_table; <span class="hljs-keyword">SELECT</span> <span class="hljs-built_in">AVG</span>(age) <span class="hljs-keyword">FROM</span> my_table;

<span class="hljs-comment">-- Keys and privileges</span> <span class="hljs-keyword">ALTER</span> <span class="hljs-keyword">TABLE</span> my_table <span class="hljs-keyword">ADD</span> <span class="hljs-keyword">PRIMARY</span> KEY (id); <span class="hljs-keyword">GRANT</span> <span class="hljs-keyword">SELECT</span>, <span class="hljs-keyword">INSERT</span>, <span class="hljs-keyword">UPDATE</span> <span class="hljs-keyword">ON</span> my_table <span class="hljs-keyword">TO</span> my_user;</pre></div><h2 id="059c">MySQL Data Types</h2><ol><li>For Characters — CHAR, VARCHAR</li></ol><p id="0ec8">2. For text strings — TINYTEXT, TEXT, BLOB, LONGTEXT</p><p id="c260">3. For Integers — INTEGER, BIGINT, TINYINT</p><p id="ef8c">4. For decimals — FLOAT, DOUBLE, DECIMAL</p><p id="e524">5. For date and timestamp — DATE, DATETIME, TIMESTAMP, TIME</p><h2 id="95d1">MySQL Date and Time Functions</h2><ol><li>DAYOFWEEK — To show day of the week</li></ol><p id="7798">2. WEEKDAY — To show weekday name</p><p id="88b6">3. DAYOFMONTH — To show day of the month</p><p id="ce63">4. MONTH — To show month</p><p id="9ee1">5. WEEK — To show week</p><p id="355b">6. YEAR — To show year</p><p id="2ec8">7. HOUR — To show hour of the day</p><p id="4f66">8. MINUTE — To show minute of the day</p><p id="3e7b">9. SECOND — To show second of the day</p><p id="98f7">10. MONTHNAME — To show month of the year</p><p id="8131">Snippet —</p><figure id="e110"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*kxhn2AoiHnW0FcycEM5GJQ.png"><figcaption></figcaption></figure><h2 id="b46e">MySQL common line client functions</h2><ol><li>MySQL — to allow user to connect with MySQL command line interface</li></ol><p id="4466">Syntax —</p><blockquote id="3bdb"><p>MySQL -u [username] -p</p></blockquote><p id="f023">2. Create user — to allow create a new user</p><p id="3c06">Syntax —</p><blockquote id="b48f"><p>CREATE USER ‘USERNAME@LOCALHOST’ ‘Password’</p></blockquote><p id="040f">3. Show user — To show all users who have access to the MySQL client</p><p id="2784">Syntax —</p><blockquote id="8fd9"><p>SELECT user, host from MySQL.User</p></blockquote><p id="2a81">4. mysqldump — to create a backup of a set of SQL statements.</p><p id="0ca5">Syntax —</p><blockquote id="eb7e"><p>MYSQLDUMP -u username -p databasename > databasename_backup.sql</p></blockquote><h2 id="3581">Work with databases and tables</h2><ol><li>Create database — to create a new database.</li></ol><p id="9fb3">Syntax —</p><blockquote id="0236"><p>Create database database_name;</p></blockquote><p id="7c7c">2. Drop database — To delete already existing database.</p><p id="01f6">Syntax —</p><blockquote id="959c"><p>Drop Database database_name;</p></blockquote><p id="7aab">3. Alter database — To modify the existing database.</p><p id="3bc8">Syntax —</p><blockquote id="d063"><p>Alter database database_name;</p></blockquote><p id="7a6d">4. Show database — To show/list all the databases available in the MySQL server.</p><p id="b38d">Syntax —</p><blockquote id="fb4e"><p>Show Database;</p></blockquote><p id="ef9a">5. Use database — To use a database/change the current one to another db.</p><p id="2e00">Syntax —</p><blockquote id="2e16"><p>Use database_name;</p></blockquote><p id="815d"><b>To work with tables —</b></p><ol><li>Create Table — To create a new table</li></ol><p id="d6db">Syntax —</p><blockquote id="5358"><p>Create TABLE table_name( Column1 DATATYPE, Column2 DATATYPE, Column3 DATATYPE, …. );</p></blockquote><p id="f2c5">2. Alter Table — To add/modify an existing row/column in the table</p><p id="9f6f">Syntax —</p><blockquote id="e1b9"><p>Alter table table_name add/drop column column_name;</p></blockquote><p id="0316">3. Drop table — To delete the entire table</p><p id="5b04">Syntax —</p><blockquote id="a595"><p>Drop table table_name;</p></blockquote><p id="acd0">4. Describe table — To display all the columns of an existing table</p><p id="74a4">Syntax —</p><blockquote id="90d8"><p>Describe table_name;</p></blockquote><p id="b4e1">5. Truncate table — To remove all the records in the MySQL table</p><p id="7159">Syntax —</p><blockquote id="3548"><p>Truncate table table_name;</p></blockquote><p id="23e7">6. Show table — To show all the tables in the current database</p><p id="d520">Syntax —</p><blockquote id="8582"><p>Show tables;</p></blockquote><h2 id="5c0d">Work with views and triggers, stored functions</h2><p id="c489">1.Create a new view</p><p id="e5d1">Syntax —</p><blockquote id="2816"><p>CREATE VIEW view_name</p></blockquote><blockquote id="44de"><p>As SELECT_STATEMENT;</p></blockquote><p id="5181">2. Create or replace a view</p><p id="7737">Syntax —</p><blockquote id="e411"><p>CREATE OR REPLACE VIEW view_name</p></blockquote><blockquote id="0a05"><p>As SELECT_STATEMENT;</p></blockquote><p id="3017">3.Drop a view</p><p id="93c3">Syntax —</p><blockquote id="e9b8"><p>DROP VIEW view_name;</p></blockquote><p id="5d87">4. Rename a view</p><p id="686f">Syntax —</p><blockquote id="f8c9"><p>RENAME TABLE view_name</p></blockquote><blockquote id="fa60"><p>TO new_name</p></blockquote><p id="fdd4">5. Show views</p><p id="94ed">Syntax —</p><blockquote id="7d16"><p>SHOW FULL TABLES</p></blockquote><blockquote id="d227"><p>FROM database_name</p></blockquote><blockquote id="8396"><p>WHERE tabletype = ‘VIEW’;</p></blockquote><p id="bec0"><b>Triggers</b></p><ol><li>Create a new trigger</li></ol><p id="4ee2">Syntax —</p><blockquote id="fdfc"><p>CREATE TRIGGER trigger_name</p></blockquote><blockquote id="3f48"><p>BEFORE/AFTER</p></blockquote><blockquote id="21c7"><p>SQL Statement (INSERT/UPDATE/DELETE/ALTER)</p></blockquote><blockquote id="466f"><p>ON table_name</p></blockquote><blockquote id="d301"><p>FOR EACH ROW SET operation;</p></blockquote><p id="1475">2. Drop a trigger</p><p id="2843">Syntax —</p><blockquote id="908d"><p>DROP Trigger trigger_name;</p></blockquote><p id="8c45">3. Show triggers</p><p id="4e74">Syntax —</p><blockquote id="b112"><p>SHOW Triggers FROM database_name</p></blockquote><blockquote id="92c5"><p>WHERE condition</p></blockquote><p id="bd80"><b>Stored Procedures</b></p><ol><li>Create a stored procedure</li></ol><p id="0a34">Syntax —</p><blockquote id="e0af"><p>CREATE PROCEDURE procedure_name(param_list)</p></blockquote><blockquote id="55a5"><p>BEGIN SQL Statement;</p></blockquote><blockquote id="39ea"><p>END;</p></blockquote><p id="9bed">2. Drop a stored procedure</p><p id="b357">Syntax —</p><blockquote id="7922"><p>Drop Procedure procedure_name;</p></blockquote><p id="4602">3. Show stored procedure</p><p id="d1ab">Syntax —</p><blockquote id="8225"><p>Show procedure status</p></blockquote><blockquote id="22a6"><p>WHERE condition;</p></blockquote><p id="e889"><b>Stored Functions</b></p><ol><li>Create a stored functions</li></ol><p id="e42d">Syntax —</p><blockquote id="ab2a"><p>CREATE FUNCTION function_name(param_list)</p></blockquote><blockquote id="a097"><p>Returns datatype</p></blockquote><blockquote id="cb64"><p>BEGIN</p></blockquote><blockquote id="e194"><p>SQL Statement</p></blockquote><blockquote id="5f5e"><p>END;</p></blockquote><p id="bef7">2. Drop a stored functions</p><p id="fc5a">Syntax —</p><blockquote id="a03d"><p>Drop Procedure procedure_name;</p></blockquote><p id="2437">3. Show a stored functions</p><p id="5518">Syntax —</p><blockquote id="148b"><p>Show function status</p></blockquote><blockquote id="202a"><p>WHERE condition;</p></blockquote><h2 id="e545">Query the data from the tables</h2><ol><li>Select</li></ol><p id="fd35">Syntax —</p><blockquote id="439c"><p>SELECT t1, t2, … FROM table_name;</p></blockquote><p id="f60b">2. Search using like</p><p id="58ef">Syntax —</p><blockquote id="7679"><p>SELECT * FROM table_name WHERE column_name LIKE ‘%ny%’</p></blockquote><blockquote id="95bc"><p>SELECT * FROM table_name WHERE column_name LIKE ‘_ewyork’</p></blockquote><blockquote id="8315"><p>SELECT * FROM table_name WHERE column_name LIKE ‘_e_yo_k’</p></blockquote><blockquote id="6c56"><p>SELECT * FROM table_name WHERE column_name LIKE ‘[n-y]%’</p></blockquote><blockquote id="2cce"><p>SELECT * FROM table_name WHERE column_name LIKE ‘[adf]%’</p></blockquote><p id="9463">3. Distinct</p><p id="86ea">Syntax —</p><blockquote id="8308"><p>SELECT DISTINCT (column_name) FROM table_name;</p></blockquote><p id="ca4b">4. Joins</p><p id="45ed">Syntax —</p><blockquote id="4b57"><p>SELECT column_names</p></blockquote><blockquote id="629e"><p>FROM table1 JOIN table2</p></blockquote><blockquote id="91b9"><p>ON column_name1 = column_name2</p></blockquote><blockquote id="1d38"><p>WHERE condition</p></blockquote><p id="6a9d">5. Group by</p><p id="dff4">Syntax —</p><blockquote id="8e68"><p>SELECT column_names</p></blockquote><blockquote id="dcbc"><p>FROM table</p></blockquote><blockquote id="784a"><p>WHERE condition</p></blockquote><blockquote id="ab20"><p>GROUP BY column_names</p></blockquote><p id="1fe5">6. Order by</p><p id="b3d7">Syntax —</p><blockquote id="532a"><p>SELECT column_names</p></blockquote><blockquote id="3c13"><p>FROM table</p></blockquote><blockquote id="113c"><p>WHERE condition</p></blockquote><blockquote id="2b44"><p>ORDER BY column_names</p></blockquote><p id="56a4">7. Filter Data</p><p id="fc52">Syntax —</p><blockquote id="d59b"><p>Select t1</p></blockquote><blockquote id="f641"><p>from table_name</p></blockquote><blockquote id="0bb3"><p>Where t1 > 4</p></blockquote><p id="419c">Using other comparison Operator —</p><blockquote id="6bf6"><p>Select t1</p></blockquote><blockquote id="9752"><p>from table_name</p></blockquote><blockquote id="1a69"><p>Where t1 != ‘string’</p></blockquote><blockquote id="3ee9"><p>Select t1,t2</p></blockquote><blockquote id="497a"><p>from table_name</p></blockquote><blockquote id="3822"><p>Where t1 == 17 AND t2 == ‘string’</p></blockquote><h2 id="5052">Back up database to SQL file</h2><p id="4d64">To backup database —</p><blockquote id="aef1"><p>mysqldump -u user_name -p database_name > databasename_backup.sql</p></blockquote><h2 id="8cbf">Insert, Update, delete, Repair tables</h2><ol><li>Insert</li></ol><p id="8974">Syntax —</p><blockquote id="babd"><p>Insert into table_name ( column_1, column_2) values (values_1,values_2,…values_n);</p></blockquote><p id="5bea">2. Update</p><p id="2772">Syntax —</p><blockquote id="a235"><p>Update table_name SET Column_name = value where Condition;</p></blockquote><p id="6c49">3. Delete</p><p id="58c1">Syntax —</p><blockquote id="7f65"><p>Delete FROM table_name;</p></blockquote><h2 id="66e3">Aggregate Functions</h2><p id="04cc">Most important aggregate Functions —</p><ul><li>COUNT() — To count the number of rows</li><li>SUM() — To return sum of the column</li><li>AVG () — To return average of the column</li><li>MIN() — To return min value in the column</li><li>MAX() — To return max value in the column</li></ul><p id="5d2c"><b>Format —</b></p><blockquote id="9f7a"><p>Count(column_name)</p></blockquote><blockquote id="70c1"><p>Sum(column_name)</p></blockquote><blockquote id="cffc"><p>Avg(column_name)</p></blockquote><blockquote id="8306"><p>Min(column_name)</p></blockquote><blockquote id="0a44"><p>Max(column_name)</p></blockquote><p id="826b"><b>Example —</b></p><blockquote id="8057"><p>SELECT COUNT(employee_id)</p></blockquote><blockquote id="3e04"><p>FROM employee_table</p></blockquote><blockquote id="4e29"><p>WHERE salary > 40000</p></blockquote><blockquote id="4066"><p>SELECT MAX(salary)</p></blockquote><blockquote id="238a"><p>FROM employee_table</p></blockquote><blockquote id="06fc"><p>SELECT MIN(salary)</p></blockquote><blockquote id="47e7"><p>FROM employee_table</p></blockquote><blockquote id="1d76"><p>SELECT AVG(salary)</p></blockquote><blockquote id="199a"><p>FROM employee_table</p></blockquote><blockquote id="8af4"><p>SELECT SUM(salary)</p></blockquote><blockquote id="6f23"><p>FROM employee_table</p></blockquote><h2 id="8488">Keys and privileges</h2><ol><li>Create keys like primary keys and foreign keys —</li></ol><blockquote id="670a"><p>CREATE TABLE table (…, PRIMARY KEY (col1, col2))</p></blockquote><blockquote id="4cb6"><p>CREATE TABLE table (…, FOREIGN KEY (col1, col2) REFERENCES table2(t2_col1, t2_col2))</p></blockquote><p id="bb43">2. To create or grant or revoke privileges to the users —</p><blockquote id="c67d"><p>CREATE USER ‘user_name’@’localhost’;</p></blockquote><blockquote id="8090"><p>GRANT SELECT, INSERT, UPDATE ON base.* TO ‘username’@’localhost’ IDENTIFIED BY ‘password’;</p></blockquote><blockquote id="c7e9"><p>REVOKE ALL PRIVILEGES, GRANT OPTION FROM ‘username’@’host’;</p></blockquote><h2 id="1de3">Let’s cover the most important constructs of PostgreSQL as follows —</h2><ul><li>Access the PostgreSQL server</li><li>Connect to a database</li><li>List database, views and tables</li><li>Create, Delete and Alter databases</li><li>Views and Indexes</li><li>Query data from tables</li><li>SET operations</li><li>Insert, Delete and Update</li><li>Performance and Statistics</li></ul><p id="a794"><b>Implementation —</b></p><div id="2a18"><pre><span class="hljs-comment">-- Access the PostgreSQL server</span> psql <span class="hljs-operator">-</span>h localhost <span class="hljs-operator">-</span>p <span class="hljs-number">5432</span> <span class="hljs-operator">-</span>U username <span class="hljs-operator">-</span>d database_name

<span class="hljs-comment">-- Connect to a database</span> \c database_name;

<span class="hljs-comment">-- List databases, views, and tables</span> <span class="hljs-keyword">SELECT</span> datname <span class="hljs-keyword">FROM</span> pg_database; <span class="hljs-keyword">SELECT</span> viewname <span class="hljs-keyword">FROM</span> pg_views; <span class="hljs-keyword">SELECT</span> table_name <span class="hljs-keyword">FROM</span> information_schema.tables <span class="hljs-keyword">WHERE</span> tab

Options

le_schema <span class="hljs-operator">=</span> <span class="hljs-string">'public'</span>;

<span class="hljs-comment">-- Create database</span> <span class="hljs-keyword">CREATE</span> DATABASE new_database;

<span class="hljs-comment">-- Delete database</span> <span class="hljs-keyword">DROP</span> DATABASE database_name;

<span class="hljs-comment">-- Alter database</span> <span class="hljs-keyword">ALTER</span> DATABASE database_name RENAME <span class="hljs-keyword">TO</span> new_name;

<span class="hljs-comment">-- Create view</span> <span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">VIEW</span> my_view <span class="hljs-keyword">AS</span> <span class="hljs-keyword">SELECT</span> <span class="hljs-operator">*</span> <span class="hljs-keyword">FROM</span> my_table;

<span class="hljs-comment">-- Create index</span> <span class="hljs-keyword">CREATE</span> INDEX my_index <span class="hljs-keyword">ON</span> my_table (column_name);

<span class="hljs-comment">-- Query data from tables</span> <span class="hljs-keyword">SELECT</span> <span class="hljs-operator">*</span> <span class="hljs-keyword">FROM</span> my_table;

<span class="hljs-comment">-- SET operations</span> <span class="hljs-keyword">INSERT</span> <span class="hljs-keyword">INTO</span> table_name (column1, column2) <span class="hljs-keyword">VALUES</span> (value1, value2); <span class="hljs-keyword">DELETE</span> <span class="hljs-keyword">FROM</span> table_name <span class="hljs-keyword">WHERE</span> <span class="hljs-keyword">condition</span>; <span class="hljs-keyword">UPDATE</span> table_name <span class="hljs-keyword">SET</span> column1 <span class="hljs-operator">=</span> value1 <span class="hljs-keyword">WHERE</span> <span class="hljs-keyword">condition</span>;

<span class="hljs-comment">-- Performance and statistics</span> EXPLAIN <span class="hljs-keyword">SELECT</span> <span class="hljs-operator">*</span> <span class="hljs-keyword">FROM</span> my_table; ANALYZE my_table;</pre></div><h2 id="8a33">Access the PostgreSQL server</h2><p id="7625">To access the server from psql</p><p id="b355">Syntax —</p><blockquote id="3df6"><p>psql -U [user_name];</p></blockquote><h2 id="6ee2">Connect to a database and check version</h2><ol><li>To connect to a database —</li></ol><p id="45aa">Syntax —</p><blockquote id="814a"><p>\c database_name</p></blockquote><p id="6582">2. Check version</p><p id="176d">Syntax —</p><blockquote id="ffda"><p>psql -V</p></blockquote><h2 id="9cdc">List database, views and tables</h2><ol><li>List database</li></ol><p id="2ec1">Syntax —</p><blockquote id="7960"><p>psql -l</p></blockquote><p id="2761">2. List views</p><p id="9561">Syntax —</p><blockquote id="c392"><p>\dv</p></blockquote><p id="cae8">3. List tables</p><p id="e0a7">Syntax —</p><blockquote id="7975"><p>\dt</p></blockquote><h2 id="ac2a">Create, Delete and Alter table in the database</h2><ol><li>Create new table Database</li></ol><p id="a7e5">Syntax —</p><blockquote id="d2a0"><p>CREATE TABLE table_name</p></blockquote><blockquote id="9950"><p>( primarykey SERIAL PRIMARY KEY, c1 type(size) NOT NULL, … );</p></blockquote><p id="5f1b">2. Delete Table</p><p id="2aed">Syntax —</p><blockquote id="6ebb"><p>DROP TABLE table_name CASCADE;</p></blockquote><p id="6f4b">3. Alter Table</p><p id="741c">Syntax —</p><blockquote id="8c77"><p>ALTER TABLE table_name DROP COLUMN column_name;</p></blockquote><h2 id="1b2e">Views , triggers and Indexes</h2><p id="3053">1.Create a new view</p><p id="3dfd">Syntax —</p><blockquote id="0b49"><p>CREATE VIEW view_name</p></blockquote><blockquote id="7a9a"><p>As SELECT_STATEMENT;</p></blockquote><p id="6863">2. Create or replace a view</p><p id="2cc2">Syntax —</p><blockquote id="80c0"><p>CREATE OR REPLACE VIEW view_name</p></blockquote><blockquote id="3f55"><p>As SELECT_STATEMENT;</p></blockquote><p id="11e5">3.Drop a view</p><p id="9bd1">Syntax —</p><blockquote id="a72c"><p>DROP VIEW view_name;</p></blockquote><p id="effb">4. Rename a view</p><p id="a440">Syntax —</p><blockquote id="5571"><p>RENAME TABLE view_name</p></blockquote><blockquote id="f4dd"><p>TO new_name;</p></blockquote><p id="041c">5. Show views</p><p id="0365">Syntax —</p><blockquote id="ec76"><p>SHOW FULL TABLES</p></blockquote><blockquote id="31e3"><p>FROM database_name</p></blockquote><blockquote id="828f"><p>WHERE tabletype = ‘VIEW’;</p></blockquote><p id="19c6"><b>Triggers</b></p><ol><li>Create a new trigger</li></ol><p id="1f86">Syntax —</p><blockquote id="6ea9"><p>CREATE TRIGGER trigger_name</p></blockquote><blockquote id="820b"><p>BEFORE/AFTER</p></blockquote><blockquote id="bcbe"><p>SQL Statement (INSERT/UPDATE/DELETE/ALTER)</p></blockquote><blockquote id="4b73"><p>ON table_name</p></blockquote><blockquote id="133c"><p>FOR EACH ROW SET operation;</p></blockquote><p id="f2f6">2. Drop a trigger</p><p id="dfee">Syntax —</p><blockquote id="3d57"><p>DROP Trigger trigger_name;</p></blockquote><p id="ba31">3. Show triggers</p><p id="a86b">Syntax —</p><blockquote id="7c83"><p>SHOW Triggers FROM database_name</p></blockquote><blockquote id="899e"><p>WHERE condition</p></blockquote><p id="4809"><b>Indexes</b></p><p id="ee30">To create Indexes —</p><blockquote id="869d"><p><i>CREATE INDEX index_name</i></p></blockquote><blockquote id="469f"><p><i>ON table (column_1, column_2, …column_n)</i></p></blockquote><h2 id="a3a9">Query data from tables</h2><ol><li>Select</li></ol><p id="5589">Syntax —</p><blockquote id="e84c"><p>SELECT t1, t2, … FROM table_name;</p></blockquote><p id="4905">2. Search using like</p><p id="12c9">Syntax —</p><blockquote id="35e6"><p>SELECT * FROM table_name WHERE column_name LIKE ‘%ny%’</p></blockquote><blockquote id="4559"><p>SELECT * FROM table_name WHERE column_name LIKE ‘_ewyork’</p></blockquote><blockquote id="a9fd"><p>SELECT * FROM table_name WHERE column_name LIKE ‘_e_yo_k’</p></blockquote><blockquote id="1463"><p>SELECT * FROM table_name WHERE column_name LIKE ‘[n-y]%’</p></blockquote><blockquote id="09a2"><p>SELECT * FROM table_name WHERE column_name LIKE ‘[adf]%’</p></blockquote><p id="8081">3. Distinct</p><p id="c9fa">Syntax —</p><blockquote id="df39"><p>SELECT DISTINCT (column_name) FROM table_name;</p></blockquote><p id="67c7">4. Joins</p><p id="a93c">Syntax —</p><blockquote id="7642"><p>SELECT column_names</p></blockquote><blockquote id="871a"><p>FROM table1 JOIN table2</p></blockquote><blockquote id="3b6f"><p>ON column_name1 = column_name2</p></blockquote><blockquote id="d1f8"><p>WHERE condition</p></blockquote><p id="fdf3">5. Group by</p><p id="a53f">Syntax —</p><blockquote id="2ed4"><p>SELECT column_names</p></blockquote><blockquote id="4f68"><p>FROM table</p></blockquote><blockquote id="fbbe"><p>WHERE condition</p></blockquote><blockquote id="45fd"><p>GROUP BY column_names</p></blockquote><p id="0143">6. Order by</p><p id="e0b4">Syntax —</p><blockquote id="b41e"><p>SELECT column_names</p></blockquote><blockquote id="1c2a"><p>FROM table</p></blockquote><blockquote id="f936"><p>WHERE condition</p></blockquote><blockquote id="ced8"><p>ORDER BY column_names</p></blockquote><p id="b0ce">7. Filter Data</p><p id="3e35">Syntax —</p><blockquote id="8d4c"><p>Select t1</p></blockquote><blockquote id="018b"><p>from table_name</p></blockquote><blockquote id="26ac"><p>Where t1 > 4</p></blockquote><p id="b28c">Using other comparison Operator —</p><blockquote id="d614"><p>Select t1</p></blockquote><blockquote id="4b53"><p>from table_name</p></blockquote><blockquote id="fd25"><p>Where t1 != ‘string’</p></blockquote><blockquote id="cec8"><p>Select t1,t2</p></blockquote><blockquote id="d3d9"><p>from table_name</p></blockquote><blockquote id="bccb"><p>Where t1 == 17 AND t2 == ‘string’</p></blockquote><h2 id="18bc">SET operations</h2><p id="90e7">For UNION</p><p id="8f4f">Syntax —</p><blockquote id="c947"><p>Select t1, t2 FROM table1 UNION Select r1, r2 FROM table2</p></blockquote><p id="1240">INTERSECT</p><p id="93a5">Syntax —</p><blockquote id="d092"><p>Select t1, t2</p></blockquote><blockquote id="2a9f"><p>FROM table_name</p></blockquote><blockquote id="b41f"><p>WHERE Condition</p></blockquote><blockquote id="ea09"><p><b>INTERSECT</b></p></blockquote><blockquote id="4a98"><p>Select r1, r2</p></blockquote><blockquote id="6d2e"><p>FROM table_name</p></blockquote><blockquote id="1ebc"><p>WHERE Condition</p></blockquote><p id="0a26">EXCEPT</p><p id="b3cf">Syntax —</p><blockquote id="4dc6"><p>Select t1, t2</p></blockquote><blockquote id="0ffe"><p>FROM table_name</p></blockquote><blockquote id="0d95"><p>WHERE Condition</p></blockquote><blockquote id="0477"><p><b>EXCEPT</b></p></blockquote><blockquote id="4855"><p>Select r1, r2</p></blockquote><blockquote id="8b24"><p>FROM table_name</p></blockquote><blockquote id="a33d"><p>WHERE Condition</p></blockquote><h2 id="3055">Insert, Delete and Update</h2><ol><li>Insert</li></ol><p id="41b7">Syntax —</p><blockquote id="ae21"><p>Insert into table_name ( column_1, column_2) values (values_1,values_2,…values_n);</p></blockquote><p id="47dd">2. Update</p><p id="7dca">Syntax —</p><blockquote id="9a93"><p>Update table_name SET Column_name = value where Condition;</p></blockquote><p id="97b4">3. Delete</p><p id="cc0e">Syntax —</p><blockquote id="73da"><p>Delete FROM table_name;</p></blockquote><h2 id="cb05">Create Roles and Change the Roles</h2><p id="23f2">Create Role</p><p id="f560">Syntax —</p><blockquote id="54ee"><p>CREATE ROLE role_name;</p></blockquote><p id="b948">Change the Role</p><p id="feaf">Syntax —</p><blockquote id="4dd0"><p>SET Role newrole_name;</p></blockquote><h2 id="ee7b">Performance and Statistics</h2><p id="5494">For statistics collection</p><p id="464a">Syntax —</p><blockquote id="fc94"><p>ANALYZE table_name;</p></blockquote><p id="da11">To show and execute query plan</p><p id="ddb8">Syntax —</p><blockquote id="4896"><p>EXPLAIN ANALYZE sql_query;</p></blockquote><p id="44a8"><b>Snippet —</b></p><figure id="a914"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*PKo9OGpP0JkZs8hJ21verg.png"><figcaption></figcaption></figure><h1 id="9c93">That’s it for now.</h1><h1 id="2f6c">Find Day 20 Below :</h1><div id="6c27" class="link-block"> <a href="https://readmedium.com/day-20-of-30-days-of-data-engineering-series-with-projects-d8b4d08fac38"> <div> <div> <h2>Day 20 of 30 days of Data Engineering Series with Projects</h2> <div><h3>Welcome back peeps to Day 20 of Data Engineering Series with Projects!</h3></div> <div><p>medium.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*HYMWDsj4CFYWQXYv.png)"></div> </div> </div> </a> </div><p id="525f"><b><i>Let me know if you have questions in the comment section below. Subscribe/ Follow, Like/Clap as it would encourage me to write more in my free time</i></b></p><p id="0960"><b><i>Stay Tuned!!</i></b></p><h2 id="0bcd">Read more —</h2><h2 id="8842">All the Complete System Design Series Parts —</h2><blockquote id="f3fb"><p><a href="https://readmedium.com/complete-system-design-series-part-1-45bf9c8654bc"><b><i>1. System design basics</i></b></a></p></blockquote><blockquote id="c535"><p><a href="https://readmedium.com/complete-system-design-series-part-2-922f45f2faaf"><b><i>2. Horizontal and vertical scaling</i></b></a></p></blockquote><blockquote id="18a1"><p><a href="https://readmedium.com/part-3-complete-system-design-series-e1362baa8a4c"><b><i>3. Load balancing and Message queues</i></b></a></p></blockquote><blockquote id="4d43"><p><a href="https://readmedium.com/part-4-complete-system-design-series-138bc9fbcfc0"><b><i>4. High level design and low level design, Consistent Hashing, Monolithic and Microservices architecture</i></b></a></p></blockquote><blockquote id="d211"><p><a href="https://readmedium.com/part-5-complete-system-design-series-4b9b04f23608"><b><i>5. Caching, Indexing, Proxies</i></b></a></p></blockquote><blockquote id="10ec"><p><a href="https://readmedium.com/part-6-complete-system-design-series-59a2d8bbf1ed"><b><i>6. Networking, How Browsers work, Content Network Delivery ( CDN)</i></b></a></p></blockquote><blockquote id="2fb1"><p><a href="https://readmedium.com/part-7-complete-system-design-series-1bef528923d6"><b><i>7. Database Sharding, CAP Theorem, Database schema Design</i></b></a></p></blockquote><blockquote id="982a"><p><a href="https://readmedium.com/part-8-complete-system-design-series-57bc88433c8e"><b><i>8. Concurrency, API, Components + OOP + Abstraction</i></b></a></p></blockquote><blockquote id="f09e"><p><a href="https://readmedium.com/part-9-complete-system-design-series-df975c85ec51"><b><i>9. Estimation and Planning, Performance</i></b></a></p></blockquote><blockquote id="9128"><p><b><i>10. <a href="https://readmedium.com/part-10-complete-system-design-series-523b4dd978bf?sk=741f92929c8639a2e4cf218521e8cc4a">Map Reduce, Patterns and Microservices</a></i></b></p></blockquote><blockquote id="f879"><p><b><i>11. <a href="https://naina0412.medium.com/part-11-complete-system-design-series-9c8efbc0237a?sk=5bddf2adc78ea4947ae88ab21c94af1c">SQL vs NoSQL and Cloud</a></i></b></p></blockquote><blockquote id="bdf5"><p><a href="https://readmedium.com/most-popular-system-design-questions-mega-compilation-45218129fe26"><b><i>12. Most Popular System Design Questions</i></b></a></p></blockquote><h1 id="a23a">Github —</h1><div id="b414" class="link-block"> <a href="https://github.com/Coder-World04/Complete-System-Design/blob/main/README.md"> <div> <div> <h2>Complete-System-Design/README.md at main · Coder-World04/Complete-System-Design</h2> <div><h3>This repository contains everything you need to become proficient in System Design Topics you should know in System…</h3></div> <div><p>github.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/)"></div> </div> </div> </a> </div><h1 id="cbd3">For Python Projects —</h1><div id="22a4" class="link-block"> <a href="https://readmedium.com/complete-python-and-projects-mega-compilation-7ec8f7adfe71"> <div> <div> <h2>Complete Python And Projects — Mega Compilation</h2> <div><h3>Everything that you need to know in Python with Projects…</h3></div> <div><p>medium.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*NnCSMN6etFjjw4Jn.jpg)"></div> </div> </div> </a> </div><div id="471c" class="link-block"> <a href="https://medium.datadriveninvestor.com/analyzing-video-using-python-opencv-and-numpy-5471cab200c4"> <div> <div> <h2>Analyzing Video using Python, OpenCV and NumPy</h2> <div><h3>With Code Implementation…</h3></div> <div><p>medium.datadriveninvestor.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*PYNCDW3IXI2BcT5f.jpg)"></div> </div> </div> </a> </div><p id="f199"><b><i>For complete 60 days of Data Science and ML : Day 1 — Day 60 : Quick Recap of 60 days of Data Science and ML</i></b></p><div id="9d77" class="link-block"> <a href="https://readmedium.com/day-1-day-60-quick-recap-of-60-days-of-data-science-and-ml-6fc021643d1"> <div> <div> <h2>Day 1 — Day 60 : Quick Recap of 60 days of Data Science and ML</h2> <div><h3>Connect the ML dots…</h3></div> <div><p>medium.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*ZfJ1yKIzPLGABAI_.png)"></div> </div> </div> </a> </div><p id="1253"><b><i>Follow for more updates. Stay tuned and keep coding!</i></b></p><h1 id="21c3">For other projects, tune to —</h1><p id="b31f"><b>Build Machine Learning Pipelines( With Code)</b></p><div id="5b37" class="link-block"> <a href="https://medium.datadriveninvestor.com/build-machine-learning-pipelines-with-code-part-1-bd3ed7152124"> <div> <div> <h2>Build Machine Learning Pipelines( With Code) — Part 1</h2> <div><h3>Complete implementation…</h3></div> <div><p>medium.datadriveninvestor.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*KdToBD8RDMBH4jXM.png)"></div> </div> </div> </a> </div><p id="946c"><b>Recurrent Neural Network with Keras</b></p><div id="f317" class="link-block"> <a href="https://medium.datadriveninvestor.com/recurrent-neural-network-with-keras-b5b5f6fe5187"> <div> <div> <h2>Recurrent Neural Network with Keras</h2> <div><h3>Project Implementation and cheatsheet…</h3></div> <div><p>medium.datadriveninvestor.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*xs3Dya3qQBx6IU7C.png)"></div> </div> </div> </a> </div><p id="ec53"><b>Clustering Geolocation Data in Python using DBSCAN and K-Means</b></p><div id="2b3e" class="link-block"> <a href="https://medium.datadriveninvestor.com/clustering-geolocation-data-in-python-using-dbscan-and-k-means-3705d9f44522"> <div> <div> <h2>Clustering Geolocation Data in Python using DBSCAN and K-Means</h2> <div><h3>Project Implementation…</h3></div> <div><p>medium.datadriveninvestor.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*0uPCZnohdaPCO4NN.png)"></div> </div> </div> </a> </div><p id="a29c"><b>Facial Expression Recognition using Keras</b></p><div id="ccaa" class="link-block"> <a href="https://medium.datadriveninvestor.com/facial-expression-recognition-using-keras-cbdd661a0a54"> <div> <div> <h2>Facial Expression Recognition using Keras</h2> <div><h3>Project Implementation…</h3></div> <div><p>medium.datadriveninvestor.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*CGch7hzdjg1fpgKy.jpg)"></div> </div> </div> </a> </div><p id="0db7"><b>Hyperparameter Tuning with Keras Tuner</b></p><div id="6dff" class="link-block"> <a href="https://medium.datadriveninvestor.com/hyperparameter-tuning-with-keras-tuner-3a609d3fd85b"> <div> <div> <h2>Hyperparameter Tuning with Keras Tuner</h2> <div><h3>Project Implementation….</h3></div> <div><p>medium.datadriveninvestor.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*jlaEz8AZaptNWHEr.png)"></div> </div> </div> </a> </div><p id="fed8"><b>Custom Layers in Keras</b></p><div id="e4fd" class="link-block"> <a href="https://medium.datadriveninvestor.com/custom-layers-in-keras-de5f793217aa"> <div> <div> <h2>Custom Layers in Keras</h2> <div><h3>Code implementation …</h3></div> <div><p>medium.datadriveninvestor.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*1IH67KJadqeqeO01.png)"></div> </div> </div> </a> </div></article></body>

Day 19 of 30 days of Data Engineering Series with Projects

Welcome back peeps to Day 19 of Data Engineering Series with Projects!

In this we will cover —

PostgreSQL

List database, views and tables

Create, Delete and Alter table in the database

Views , triggers and Indexes

Query data from tables

Create Roles and Change the Roles

Performance and Statistics

MySQL

MySQL Data Types

MySQL Date and Time Functions

MySQL CLI commands

Work with database and tables

Work with views and triggers, stored functions

Query the data from the tables

Back up database to SQL file

Insert, Update, delete, Repair tables

Aggregate Functions

Keys and privileges

Pre-requisite to Day 19 is to complete Day 1–18( link below):

Day 1 : What’s Data Engineering, Why Data Engineering, Data Engineers — ML Engineers — Data Scientists, Purpose and Scope

Day 2 : Complete Python for Data Engineering — Part 1

Day 3 : Complete Advanced Python for Data Engineering — Part 2

Day 4: Techniques to write efficient and Optimized Code

Day 5 : SQL

Day 6 : Advanced SQL

Day 7 : BigQuery and SQL vs NOSQL databases

Day 8 : Advanced Functions

Day 9 : Query Optimizations

Day 10 : MySQL and PostgreSQL

Day 11: Shell scripting and Linux “touch” command

Day 12 : Map Reduce, Data Warehouse, Data Lakes

Day 13: Pandas, Pandas, Data Cleaning and processing, Outlier Detection, Noisy Data, Missing Data, Pandas Functions, Aggregate Functions, Joins

Day 14 : Numpy

Day 15 : Advanced Pandas Techniques

Day 16 : Data Pre-processing, Handling missing values, Data Cleaning, Mean/mode/median Imputation, Hot Deck Imputation, Rescale Data, Binarize Data, Regression Imputation, Stochastic regression imputation, Feature Scaling

Day 17 : Data Augmentation, Read and Process Large Datasets

Day 18 : Data Visualization basics, Data Visualization Projects, Data Visualization using Plotly and Bokeh, Data Profiling, Summary Functions, Indexing, Grouping, Linear Regression, Multi Linear Regression, Polynomial Regression, Regression, Support Vector Regression, Decision Tree Regression, Random Forest Regression, Feature Engineering, GroupBy Features, Categorical and Numerical Features, Missing Value Analysis, Fill the missing Values, Unique Value Analysis, Univariate Analysis, Bivariate Analysis, Multivariate Analysis, Correlation Analysis, Spearman’s ρ, Pearson’s r, Kendall’s τ, Cramér’s V (φc), Phik (φk)

Day 19 : MySQL and PostgreSQL

Projects Videos —

All the projects, data structures, SQL, algorithms, system design, Data Science and ML , Data Analytics, Data Engineering, , Implemented Data Science and ML projects, Implemented Data Engineering Projects, Implemented Deep Learning Projects, Implemented Machine Learning Ops Projects, Implemented Time Series Analysis and Forecasting Projects, Implemented Applied Machine Learning Projects, Implemented Tensorflow and Keras Projects, Implemented PyTorch Projects, Implemented Scikit Learn Projects, Implemented Big Data Projects, Implemented Cloud Machine Learning Projects, Implemented Neural Networks Projects, Implemented OpenCV Projects,Complete ML Research Papers Summarized, Implemented Data Analytics projects, Implemented Data Visualization Projects, Implemented Data Mining Projects, Implemented Natural Leaning Processing Projects, MLOps and Deep Learning, Applied Machine Learning with Projects Series, PyTorch with Projects Series, Tensorflow and Keras with Projects Series, Scikit Learn Series with Projects, Time Series Analysis and Forecasting with Projects Series, ML System Design Case Studies Series videos will be published on our youtube channel ( just launched).

Subscribe today!

Tech Newsletter —

If you are interested, you can join my newsletter through which I send tech interview tips, techniques, patterns, hacks — Software Development, ML, Data Science, Startups and Technology projects to more than 30K readers. You can subscribe to Ignito:

System Design Case Studies — In Depth

Design Instagram

Design Netflix

Design Reddit

Design Amazon

Design Messenger App

Design Twitter

Design URL Shortener

Design Dropbox

Design Youtube

Design API Rate Limiter

Design Web Crawler

Design Amazon Prime Video

Design Facebook’s Newsfeed

Design Yelp

Design Uber

Design Tinder

Design Tiktok

Design Whatsapp

Most Popular System Design Questions

Mega Compilation : Solved System Design Case studies

Let’s get started!

To start with, we will cover MySQL most important constructs —

  1. MySQL Data Types
  2. MySQL Date and Time Functions
  3. MySQL common line client functions
  4. Work with databases and tables
  5. Work with views and triggers, stored functions
  6. Query the data from the tables
  7. Back up database to SQL file
  8. Insert, Update, delete, Repair tables
  9. Conditions, keys and privileges

Implementation —

-- PostgreSQL

-- List databases, views, and tables
SELECT datname FROM pg_database;
SELECT viewname FROM pg_views;
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';

-- Create table
CREATE TABLE my_table (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    age INTEGER
);

-- Delete table
DROP TABLE my_table;

-- Alter table
ALTER TABLE my_table ADD COLUMN email VARCHAR(100);

-- Create view
CREATE VIEW my_view AS SELECT * FROM my_table;

-- Create trigger
CREATE TRIGGER my_trigger BEFORE INSERT ON my_table FOR EACH ROW EXECUTE FUNCTION my_function();

-- Create index
CREATE INDEX my_index ON my_table (name);

-- Query data from table
SELECT * FROM my_table;

-- Create role
CREATE ROLE my_role LOGIN PASSWORD 'mypassword';

-- Change role
SET ROLE my_role;

-- Performance and statistics
EXPLAIN SELECT * FROM my_table;
ANALYZE my_table;


-- MySQL

-- MySQL data types
CREATE TABLE my_table (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT
);

-- MySQL date and time functions
SELECT NOW();
SELECT DATE_FORMAT(date_column, '%Y-%m-%d') FROM my_table;

-- MySQL CLI commands
SHOW DATABASES;
USE database_name;
SHOW TABLES;

-- Work with database and tables
CREATE DATABASE my_database;
DROP DATABASE my_database;
CREATE TABLE my_table (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT
);
DROP TABLE my_table;

-- Work with views and triggers, stored functions
CREATE VIEW my_view AS SELECT * FROM my_table;
CREATE TRIGGER my_trigger BEFORE INSERT ON my_table FOR EACH ROW BEGIN ... END;
CREATE FUNCTION my_function() RETURNS INT BEGIN ... END;

-- Query data from tables
SELECT * FROM my_table;

-- Back up database to SQL file
mysqldump -u username -p database_name > backup.sql

-- Insert, update, delete, repair tables
INSERT INTO my_table (id, name, age) VALUES (1, 'John', 30);
UPDATE my_table SET age = 35 WHERE id = 1;
DELETE FROM my_table WHERE id = 1;
REPAIR TABLE my_table;

-- Aggregate functions
SELECT COUNT(*) FROM my_table;
SELECT AVG(age) FROM my_table;

-- Keys and privileges
ALTER TABLE my_table ADD PRIMARY KEY (id);
GRANT SELECT, INSERT, UPDATE ON my_table TO my_user;

MySQL Data Types

  1. For Characters — CHAR, VARCHAR

2. For text strings — TINYTEXT, TEXT, BLOB, LONGTEXT

3. For Integers — INTEGER, BIGINT, TINYINT

4. For decimals — FLOAT, DOUBLE, DECIMAL

5. For date and timestamp — DATE, DATETIME, TIMESTAMP, TIME

MySQL Date and Time Functions

  1. DAYOFWEEK — To show day of the week

2. WEEKDAY — To show weekday name

3. DAYOFMONTH — To show day of the month

4. MONTH — To show month

5. WEEK — To show week

6. YEAR — To show year

7. HOUR — To show hour of the day

8. MINUTE — To show minute of the day

9. SECOND — To show second of the day

10. MONTHNAME — To show month of the year

Snippet —

MySQL common line client functions

  1. MySQL — to allow user to connect with MySQL command line interface

Syntax —

MySQL -u [username] -p

2. Create user — to allow create a new user

Syntax —

CREATE USER ‘USERNAME@LOCALHOST’ ‘Password’

3. Show user — To show all users who have access to the MySQL client

Syntax —

SELECT user, host from MySQL.User

4. mysqldump — to create a backup of a set of SQL statements.

Syntax —

MYSQLDUMP -u username -p databasename > databasename_backup.sql

Work with databases and tables

  1. Create database — to create a new database.

Syntax —

Create database database_name;

2. Drop database — To delete already existing database.

Syntax —

Drop Database database_name;

3. Alter database — To modify the existing database.

Syntax —

Alter database database_name;

4. Show database — To show/list all the databases available in the MySQL server.

Syntax —

Show Database;

5. Use database — To use a database/change the current one to another db.

Syntax —

Use database_name;

To work with tables —

  1. Create Table — To create a new table

Syntax —

Create TABLE table_name( Column1 DATATYPE, Column2 DATATYPE, Column3 DATATYPE, …. );

2. Alter Table — To add/modify an existing row/column in the table

Syntax —

Alter table table_name add/drop column column_name;

3. Drop table — To delete the entire table

Syntax —

Drop table table_name;

4. Describe table — To display all the columns of an existing table

Syntax —

Describe table_name;

5. Truncate table — To remove all the records in the MySQL table

Syntax —

Truncate table table_name;

6. Show table — To show all the tables in the current database

Syntax —

Show tables;

Work with views and triggers, stored functions

1.Create a new view

Syntax —

CREATE VIEW view_name

As SELECT_STATEMENT;

2. Create or replace a view

Syntax —

CREATE OR REPLACE VIEW view_name

As SELECT_STATEMENT;

3.Drop a view

Syntax —

DROP VIEW view_name;

4. Rename a view

Syntax —

RENAME TABLE view_name

TO new_name

5. Show views

Syntax —

SHOW FULL TABLES

FROM database_name

WHERE tabletype = ‘VIEW’;

Triggers

  1. Create a new trigger

Syntax —

CREATE TRIGGER trigger_name

BEFORE/AFTER

SQL Statement (INSERT/UPDATE/DELETE/ALTER)

ON table_name

FOR EACH ROW SET operation;

2. Drop a trigger

Syntax —

DROP Trigger trigger_name;

3. Show triggers

Syntax —

SHOW Triggers FROM database_name

WHERE condition

Stored Procedures

  1. Create a stored procedure

Syntax —

CREATE PROCEDURE procedure_name(param_list)

BEGIN SQL Statement;

END;

2. Drop a stored procedure

Syntax —

Drop Procedure procedure_name;

3. Show stored procedure

Syntax —

Show procedure status

WHERE condition;

Stored Functions

  1. Create a stored functions

Syntax —

CREATE FUNCTION function_name(param_list)

Returns datatype

BEGIN

SQL Statement

END;

2. Drop a stored functions

Syntax —

Drop Procedure procedure_name;

3. Show a stored functions

Syntax —

Show function status

WHERE condition;

Query the data from the tables

  1. Select

Syntax —

SELECT t1, t2, … FROM table_name;

2. Search using like

Syntax —

SELECT * FROM table_name WHERE column_name LIKE ‘%ny%’

SELECT * FROM table_name WHERE column_name LIKE ‘_ewyork’

SELECT * FROM table_name WHERE column_name LIKE ‘_e_yo_k’

SELECT * FROM table_name WHERE column_name LIKE ‘[n-y]%’

SELECT * FROM table_name WHERE column_name LIKE ‘[adf]%’

3. Distinct

Syntax —

SELECT DISTINCT (column_name) FROM table_name;

4. Joins

Syntax —

SELECT column_names

FROM table1 JOIN table2

ON column_name1 = column_name2

WHERE condition

5. Group by

Syntax —

SELECT column_names

FROM table

WHERE condition

GROUP BY column_names

6. Order by

Syntax —

SELECT column_names

FROM table

WHERE condition

ORDER BY column_names

7. Filter Data

Syntax —

Select t1

from table_name

Where t1 > 4

Using other comparison Operator —

Select t1

from table_name

Where t1 != ‘string’

Select t1,t2

from table_name

Where t1 == 17 AND t2 == ‘string’

Back up database to SQL file

To backup database —

mysqldump -u user_name -p database_name > databasename_backup.sql

Insert, Update, delete, Repair tables

  1. Insert

Syntax —

Insert into table_name ( column_1, column_2) values (values_1,values_2,…values_n);

2. Update

Syntax —

Update table_name SET Column_name = value where Condition;

3. Delete

Syntax —

Delete FROM table_name;

Aggregate Functions

Most important aggregate Functions —

  • COUNT() — To count the number of rows
  • SUM() — To return sum of the column
  • AVG () — To return average of the column
  • MIN() — To return min value in the column
  • MAX() — To return max value in the column

Format —

Count(column_name)

Sum(column_name)

Avg(column_name)

Min(column_name)

Max(column_name)

Example —

SELECT COUNT(employee_id)

FROM employee_table

WHERE salary > 40000

SELECT MAX(salary)

FROM employee_table

SELECT MIN(salary)

FROM employee_table

SELECT AVG(salary)

FROM employee_table

SELECT SUM(salary)

FROM employee_table

Keys and privileges

  1. Create keys like primary keys and foreign keys —

CREATE TABLE table (…, PRIMARY KEY (col1, col2))

CREATE TABLE table (…, FOREIGN KEY (col1, col2) REFERENCES table2(t2_col1, t2_col2))

2. To create or grant or revoke privileges to the users —

CREATE USER ‘user_name’@’localhost’;

GRANT SELECT, INSERT, UPDATE ON base.* TO ‘username’@’localhost’ IDENTIFIED BY ‘password’;

REVOKE ALL PRIVILEGES, GRANT OPTION FROM ‘username’@’host’;

Let’s cover the most important constructs of PostgreSQL as follows —

  • Access the PostgreSQL server
  • Connect to a database
  • List database, views and tables
  • Create, Delete and Alter databases
  • Views and Indexes
  • Query data from tables
  • SET operations
  • Insert, Delete and Update
  • Performance and Statistics

Implementation —

-- Access the PostgreSQL server
psql -h localhost -p 5432 -U username -d database_name

-- Connect to a database
\c database_name;

-- List databases, views, and tables
SELECT datname FROM pg_database;
SELECT viewname FROM pg_views;
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';

-- Create database
CREATE DATABASE new_database;

-- Delete database
DROP DATABASE database_name;

-- Alter database
ALTER DATABASE database_name RENAME TO new_name;

-- Create view
CREATE VIEW my_view AS SELECT * FROM my_table;

-- Create index
CREATE INDEX my_index ON my_table (column_name);

-- Query data from tables
SELECT * FROM my_table;

-- SET operations
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
DELETE FROM table_name WHERE condition;
UPDATE table_name SET column1 = value1 WHERE condition;

-- Performance and statistics
EXPLAIN SELECT * FROM my_table;
ANALYZE my_table;

Access the PostgreSQL server

To access the server from psql

Syntax —

psql -U [user_name];

Connect to a database and check version

  1. To connect to a database —

Syntax —

\c database_name

2. Check version

Syntax —

psql -V

List database, views and tables

  1. List database

Syntax —

psql -l

2. List views

Syntax —

\dv

3. List tables

Syntax —

\dt

Create, Delete and Alter table in the database

  1. Create new table Database

Syntax —

CREATE TABLE table_name

( primarykey SERIAL PRIMARY KEY, c1 type(size) NOT NULL, … );

2. Delete Table

Syntax —

DROP TABLE table_name CASCADE;

3. Alter Table

Syntax —

ALTER TABLE table_name DROP COLUMN column_name;

Views , triggers and Indexes

1.Create a new view

Syntax —

CREATE VIEW view_name

As SELECT_STATEMENT;

2. Create or replace a view

Syntax —

CREATE OR REPLACE VIEW view_name

As SELECT_STATEMENT;

3.Drop a view

Syntax —

DROP VIEW view_name;

4. Rename a view

Syntax —

RENAME TABLE view_name

TO new_name;

5. Show views

Syntax —

SHOW FULL TABLES

FROM database_name

WHERE tabletype = ‘VIEW’;

Triggers

  1. Create a new trigger

Syntax —

CREATE TRIGGER trigger_name

BEFORE/AFTER

SQL Statement (INSERT/UPDATE/DELETE/ALTER)

ON table_name

FOR EACH ROW SET operation;

2. Drop a trigger

Syntax —

DROP Trigger trigger_name;

3. Show triggers

Syntax —

SHOW Triggers FROM database_name

WHERE condition

Indexes

To create Indexes —

CREATE INDEX index_name

ON table (column_1, column_2, …column_n)

Query data from tables

  1. Select

Syntax —

SELECT t1, t2, … FROM table_name;

2. Search using like

Syntax —

SELECT * FROM table_name WHERE column_name LIKE ‘%ny%’

SELECT * FROM table_name WHERE column_name LIKE ‘_ewyork’

SELECT * FROM table_name WHERE column_name LIKE ‘_e_yo_k’

SELECT * FROM table_name WHERE column_name LIKE ‘[n-y]%’

SELECT * FROM table_name WHERE column_name LIKE ‘[adf]%’

3. Distinct

Syntax —

SELECT DISTINCT (column_name) FROM table_name;

4. Joins

Syntax —

SELECT column_names

FROM table1 JOIN table2

ON column_name1 = column_name2

WHERE condition

5. Group by

Syntax —

SELECT column_names

FROM table

WHERE condition

GROUP BY column_names

6. Order by

Syntax —

SELECT column_names

FROM table

WHERE condition

ORDER BY column_names

7. Filter Data

Syntax —

Select t1

from table_name

Where t1 > 4

Using other comparison Operator —

Select t1

from table_name

Where t1 != ‘string’

Select t1,t2

from table_name

Where t1 == 17 AND t2 == ‘string’

SET operations

For UNION

Syntax —

Select t1, t2 FROM table1 UNION Select r1, r2 FROM table2

INTERSECT

Syntax —

Select t1, t2

FROM table_name

WHERE Condition

INTERSECT

Select r1, r2

FROM table_name

WHERE Condition

EXCEPT

Syntax —

Select t1, t2

FROM table_name

WHERE Condition

EXCEPT

Select r1, r2

FROM table_name

WHERE Condition

Insert, Delete and Update

  1. Insert

Syntax —

Insert into table_name ( column_1, column_2) values (values_1,values_2,…values_n);

2. Update

Syntax —

Update table_name SET Column_name = value where Condition;

3. Delete

Syntax —

Delete FROM table_name;

Create Roles and Change the Roles

Create Role

Syntax —

CREATE ROLE role_name;

Change the Role

Syntax —

SET Role newrole_name;

Performance and Statistics

For statistics collection

Syntax —

ANALYZE table_name;

To show and execute query plan

Syntax —

EXPLAIN ANALYZE sql_query;

Snippet —

That’s it for now.

Find Day 20 Below :

Let me know if you have questions in the comment section below. Subscribe/ Follow, Like/Clap as it would encourage me to write more in my free time

Stay Tuned!!

Read more —

All the Complete System Design Series Parts —

1. System design basics

2. Horizontal and vertical scaling

3. Load balancing and Message queues

4. High level design and low level design, Consistent Hashing, Monolithic and Microservices architecture

5. Caching, Indexing, Proxies

6. Networking, How Browsers work, Content Network Delivery ( CDN)

7. Database Sharding, CAP Theorem, Database schema Design

8. Concurrency, API, Components + OOP + Abstraction

9. Estimation and Planning, Performance

10. Map Reduce, Patterns and Microservices

11. SQL vs NoSQL and Cloud

12. Most Popular System Design Questions

Github —

For Python Projects —

For complete 60 days of Data Science and ML : Day 1 — Day 60 : Quick Recap of 60 days of Data Science and ML

Follow for more updates. Stay tuned and keep coding!

For other projects, tune to —

Build Machine Learning Pipelines( With Code)

Recurrent Neural Network with Keras

Clustering Geolocation Data in Python using DBSCAN and K-Means

Facial Expression Recognition using Keras

Hyperparameter Tuning with Keras Tuner

Custom Layers in Keras

Data Science
Machine Learning
Tech
Programming
Artificial Intelligence
Recommended from ReadMedium