0% found this document useful (0 votes)
4 views

SQL Week 8

The document outlines an agenda for a SQL class. It covers topics like creating and altering tables, inserting and updating data, indexes, sequences, and virtual environments for Python SQL drivers.

Uploaded by

Fidan Sariyeva
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

SQL Week 8

The document outlines an agenda for a SQL class. It covers topics like creating and altering tables, inserting and updating data, indexes, sequences, and virtual environments for Python SQL drivers.

Uploaded by

Fidan Sariyeva
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 63

AGENDA

Hefte 5 2ci gun


SLIDE /
o
o

o






o

1 CREATE TABLE Persons


2 (
3 P_Id INT NOT NULL,
4 LastName varchar(255) NOT NULL,
5 FirstName varchar(255),
6 Address varchar(255),
7 City varchar(255)
8 );
o

1 CREATE TABLE regions(


2 region_id NUMBER
3 CONSTRAINT region_id_nn NOT NULL,
4 CONSTRAINT reg_id_pk PRIMARY KEY (region_id) ,
5 region_name VARCHAR2(25)
6 )
o
o

1 CREATE TABLE countries (


2 country_id CHAR(2)
3 CONSTRAINT country_id_nn NOT NULL ,
4 CONSTRAINT country_c_id_pk
5 PRIMARY KEY (country_id) ,
6 country_name VARCHAR2(40),
7 region_id NUMBER ,
8 CONSTRAINT countr_reg_fk
9 FOREIGN KEY (region_id)
10 REFERENCES regions (region_id))
o
o

1 CREATE TABLE Persona


2 (
3 P_Id INT NOT NULL,
4 LastName varchar(255) NOT NULL,
5 FirstName varchar(255),
6 Address varchar(255),
7 City varchar(255),
8 CONSTRAINT uc_PersonID UNIQUE (P_Id, LastName)
);
o

1 CREATE TABLE Personaa (


2 ID int NOT NULL,
3 LastName varchar(255) NOT NULL,
4 FirstName varchar(255),
5 Age int CHECK (Age>=18)
6 );
SLIDE /
o CREATE TABLE
CREATE TABLE

1 CREATE TABLE schema_name.table_name (


2 column_1 data_type column_constraint,
3 column_2 data_type column_constraint,
4 ...
5 table_constraint
6 );
o

1 CREATE TABLE customers


2 ( customer_id number(10) NOT NULL,
3 customer_name varchar2(50) NOT NULL,
4 city varchar2(50)
5 );
6
o

1 CREATE TABLE new_table AS (SELECT * FROM old_table);

o
1 CREATE TABLE customers_new
2 AS (SELECT customer_id, customer_name
3 FROM customers);
o
DROP TABLE

1 DROP TABLE schema_name.table_name


2 [CASCADE CONSTRAINTS | PURGE];

1 DROP TABLE persons;


o

1 TRUNCATE TABLE schema_name.table_name


2 [CASCADE]
3 [[ PRESERVE | PURGE] MATERIALIZED VIEW LOG ]]
4 [[ DROP | REUSE]] STORAGE ]

1 TRUNCATE TABLE customers_copy;


o
o
1 ALTER TABLE table_name
2 ADD new_column TYPE CONSTRAINT;

1 ALTER TABLE customers


2 ADD birthdate DATE NOT NULL;
o

1 ALTER TABLE table_name


2 MODIFY new_column TYPE CONSTRAINT;

1 ALTER TABLE customers


2 MODIFY birthdate DATE NULL;
o

1 ALTER TABLE table_name


2 DROP COLUMN new_column ;

1 ALTER TABLE customers


2 DROP COLUMN birthdate ;
SLIDE /
o INSERT

1 INSERT INTO table_name (column_list)


2 VALUES( value_list);

1 INSERT INTO table_name


2 VALUES (value_list);
o

1 INSERT INTO customers(customer_id,customer_name,city)


2 VALUES('12345','Andrea', 'Paris');
o

INSERT INTO target_table (col1, col2, col3)


SELECT col1,
col2,
col3
FROM source_table
WHERE condition;
o
1 create table
2 customers_new(customer_id
3 number(10) NOT NULL,
4 customer_name varchar2(50)
5 NOT NULL);

1 INSERT INTO
2 customers_new(
3 customer_id,
4 customer_name)
5 SELECT
6 customer_id,
7 customer_name FROM customers;
o

1 UPDATE
2 table_name
3 SET
4 column1 = value1,
5 column2 = value2,
6 column3 = value3,
7 ...
8 WHERE
9 condition;
o

1 UPDATE
2 customers_new
3 SET
4 CUSTOMER_ID = '10000'
5 WHERE CUSTOMER_NAME LIKE 'And%';
o

1 UPDATE table1
2 SET
3 column1 = (SELECT expression1
4 FROM table2
5 WHERE conditions2)
[WHERE conditions1];
o

1 UPDATE customers_new
2 SET customer_id = (SELECT customer_id
3 FROM customers
4 WHERE customers.customer_name like 'And%');
o

1 DELETE
2 FROM
3 table_name
4 WHERE
5 condition;

o
o
o
o
o

1 delete from customers_new where customer_name like 'And%'


o

CODE

WITH Query_name AS ( subquery )


o

1 SELECT
2 DENSE_RANK (15500, 0.05)
3 WITHIN GROUP
4 (ORDER BY salary DESC, commission_pct) "Dense Rank"
5 FROM employees;
o

1 SELECT
2 department_id, last_name, salary,
3 DENSE_RANK()
4 OVER (PARTITION BY department_id
5 ORDER BY salary)
6 DENSE_RANK FROM employees
7 WHERE department_id = 60
ORDER BY DENSE_RANK, last_name;
o

1 SELECT
2 department_id, last_name, salary,
3 FIRST_VALUE (last_name)
4 OVER (ORDER BY salary) AS lowest_sal
5 FROM employees
o

1 SELECT
2 last_name, salary, hire_date,
3 LAST_VALUE(hire_date)
4 OVER (ORDER BY salary)
5 FROM employees
o

1 SELECT
2 last_name, hire_date, salary,
3 LAG(salary, 1, 0)
4 OVER (ORDER BY hire_date)
5 FROM employees
6 WHERE job_id = 'PU_CLERK';
o

1 SELECT hire_date, last_name,


2 LEAD(hire_date, 1)
3 OVER (ORDER BY hire_date) AS "NextHired"
4 FROM employees
5 WHERE department_id = 30;
o

1 SELECT
2 department_id, last_name, employee_id,
3 ROW_NUMBER()
4 OVER (ORDER BY employee_id) AS emp_id
5 FROM employees;
SLIDE /
o
o

1 CREATE INDEX index_name


2 ON table_name(column1[,column2,...])

o
o

o
o

1 CREATE TABLE members(


2 member_id INT GENERATED BY DEFAULT AS IDENTITY,
3 first_name VARCHAR2(100)
4 NOT NULL, last_name
5 VARCHAR2(100) NOT NULL,
6 gender CHAR(1) NOT NULL,
7 dob DATE NOT NULL,
8 email VARCHAR2(255) NOT NULL,
9 PRIMARY KEY(member_id)
10 );
o

1 SELECT
2 index_name,
3 index_type,
4 visibility,
5 status
6 FROM
7 all_indexes
8 WHERE
table_name = 'MEMBERS';
o

1 CREATE INDEX members_last_name_i


2 ON members(last_name);
o

1 SELECT
2 index_name,
3 index_type, :
4 visibility,
5 status
6 FROM
7 all_indexes
8 WHERE
9 table_name = 'MEMBERS';
o

1 CREATE INDEX members_name_i


2 ON members(last_name, first_name)
o :

1 DROP INDEX index_name;

1 DROP INDEX members_last_name_i;


o

1 CREATE SEQUENCE id_seq


2 INCREMENT BY 10
3 START WITH 10
4 MINVALUE 10
5 MAXVALUE 100
6 CYCLE
7 CACHE 2;
o

1 SELECT id_seq.NEXTVAL
2 FROM dual;

1 SELECT id_seq.CURRVAL
2 FROM dual;
o

1 ALTER SEQUENCE item_seq MAXVALUE 100;

1 DROP SEQUENCE item_seq;


SLIDE /
o
o

o
o

o
o

o
o
o
o
o
o
o
o

o
o

o
o
o
o
o
o
o
o
o

o
o

o
o

o
o

o
o

o
o

o

o


o
o
>>> cd ~ virtualenv -p /usr/bin/python3 sqlenv
o
>>> source sqlenv/bin/activate
o
o
>>> pip install MySQL-python
o
>>> pip install mysql-connector-python
o
>>> pip install pymysql

You might also like