MySQL Introduction · MySQL Introduction By Prof. B.A.Khivsara Note: The material to prepare this...

Post on 24-Jul-2020

3 views 2 download

transcript

MySQL Introduction

By Prof. B.A.Khivsara

Note: The material to prepare this presentation has been taken from internet and are generated only for students reference and not for commercial use.

Outline

Design and Develop SQL DDL statements which demonstrate the use of SQL objects such as

• Table,

• View,

• Index,

• Sequence,

• Synonym

Table

RollNo Name Address

1 Bhavana Nashik

2 Jiya Pune

Table Name: Student

View

RollNo Name

1 Bhavana

2 Jiya

View Name: St_View created on table Students

View is a logical table. It is a physical object which stores data logically. View just refers to data that is tored in base tables.

A view is a logical entity. It is a SQL statement stored in the database in the system tablespace. Data for a view is built in a table created by the database engine in the TEMP tablespace.

Index

Database index, or just index, helps speed up the retrieval of data from tables. When you query data from a table, first MySQL checks if the indexes exist, then MySQL uses the indexes to select exact physical corresponding rows of the table instead of scanning the whole table.

Index of Book- an Example

Sequence

Bill No Date Particulars Amount

101 2/3/2017 Mixer 2000

102 2/3/2017 T.V. 4000

103 3/3/2017 Speaker 1600

Sequence

you can create a column that contains a sequence of numbers (1, 2, 3, and so on) by using the

AUTO_INCREMENT attribute.

Synonym • A synonym is an alternative name for objects such as tables,

views, sequences, stored procedures, and other database objects.

• Eg. Nickname or short name of any person

• Note: Synonyms are not possible in MySQL but possible with oracle.

Commands Types

• Data Definition Language DDL

• Data Manipulation Language DML

• Data Control Language DCL

• Transaction Control Language TCL

Commands Types

DDL- Data Definition Language

• DDL statements or commands are used to define and modify the database structure of your tables or schema.

Some commands of DDL are:

• CREATE – to create table (objects) in the database

• ALTER – alters the structure of the database

• DROP – delete table from the database

• TRUNCATE – remove all records from a table, including all spaces allocated for the records are removed

• COMMENT – add comments to the data dictionary

• RENAME – rename a table

DDL Commands for Table

•Create table

•Show tables

•Describe table

•Alter table

•Truncate table

•Drop table

•Rename

DDL Commands for Table

•Create table • Syntax Create table table_name (Col_name1

data_type(Size) , Col_name2 data_type(Size),…))

• Example Create table Stud(rno number(4),name

varchar2(20), DOB date));

DDL Commands for Table

•Describe table

•Syntax

desc table_name;

•Example

desc Stud;

DDL Commands for Table

•Show tables This will list the tables in the current database:

• Syntax

show tables;

• Example

mysql> show tables;

customers

orders

2 rows in set (0.00 sec)

DDL Commands for Table

•Alter table (add or modify)

• Syntax

alter table table_name add/modify/drop

column_name data_type(size)

• Example

• Alter table stud add age int(3);

• Alter table stud modify name varchar2(30);

• Alter table stud modify name char(20);

• Alter table stud drop column age;

DDL Commands for Table

• Truncate Table used to delete complete data from an existing table.

• Syntax • TRUNCATE TABLE table_name;

• Example mysql> TRUNCATE TABLE stud;

DDL Commands for Table

•Rename Table used to rename table.

• Syntax • RENAME TABLE tbl_name TO new_tbl_name

• Example mysql> RENAME TABLE stud TO student ;

Constraints

• Constraints are the set of rules defined on tables to ensure data integrity.

• Primary key

• Not null

• Default

• Unique

• Check

• Foreign key/reference key

Constraints- Unique

• The UNIQUE constraint in MySQL does not allow to insert a duplicate value in a column.

• Syntax CREATE TABLE table_name (col_name data_type (size) Unique);

• Example • CREATE TABLE Stud (Rno number(4) Unique);

Constraints- Not Null

• A NOT NULL constraint means that a data row must have a value for the column specified as NOT NULL.

• Syntax CREATE TABLE table_name

(Col_name Data_type(size)not null, ... );

• Example Create table stud

(rollno number(4) ,name varchar2(20)not null);

Constraints- Primary key

• Each table must normally contain a column or set of columns that uniquely identifies rows of data that are stored in the table. This column or set of columns is referred to as the primary key.

• A table can have only one primary key.

• Multiple columns can be clubbed under a composite primary key.

• Primary key columns is combination of NOT NULL and UNIQUE.

• Syntax

CREATE TABLE table_name ( Col_name Data_type(size)CONSTRAINT constraint_name PRIMARY KEY, ... );

• Example

• Create table stud (rollno number(4)constraint pk1 primary key,name…)

• Create table stud (rollno number(4) primary key, name ….)

Constraints- Default

• In a MySQL table, while inserting data into a table, if no value is supplied to a column, then the column gets the value set as DEFAULT.

• Syntax • CREATE TABLE table_name (col_name

data_type(size) DEFAULT ‘default_value’ );

• Example • CREATE TABLE Stud (rno number(4) ,name varchar2(20), addr

varchar(30) DEFAULT ‘Chandwad’ );

Constraints- Check

• In a MySQL table, A CHECK constraint controls the values in the associated column. The CHECK constraint determines whether the value is valid or not.

• Syntax • CREATE TABLE table_name (col_name data_type(size) Check

(condition) );

• Example • CREATE TABLE Stud (rno number(4) CHECK (rollno BETWEEN 1

AND 60));

• CREATE TABLE Stud (age number(4) CHECK (age>18));

Constraints- FOREIGN KEY

• A FOREIGN KEY in MySQL creates a link between two tables by one specific column of both tables. The specified column in one table must be a PRIMARY KEY and referred by the column of another table known as FOREIGN KEY.

• Syntax • Create table table_name(col_name data_type(size)references

table_name(col_name));

• Example • Createtable stud1 (rollno number(4) references stud(rno));

Constraints- after table creation and drop constraint

• You can also add constraint after table creation using alter table option

• Example • Alter table stud add constraint prk1 primary key(rollno);

• You can also drop constraint using Drop command & name of constraint

• Example • Drop constraint prk1;

DDL Commands for Table

•Drop table

•Syntax

Drop table table_name;

•Example

Drop table stud;

DDL Commands for Index

•Create Index

•Show Index

•Drop Index

DDL Commands for Index

•Create Index •Syntax 1> Create Index index_name on

table_name(column_name)

2> Alter table table_name add index index_name (column_name)

•Example

1> Create Index n1 on Stud(Name)

2> Alter table Stud add Index n1 (name)

DDL Commands for Index

•Show Index • Syntax

Show Index from table_name

• Example

Show Index from Stud;

DDL Commands for Index

•Drop Index

•Syntax

Alter table table_name drop Index index_name

•Example

• Alter table Stud drop Index n1;

DDL Commands for View

•Create View

•Show View

•Drop View

DDL Commands for View

•Create View • Syntax

Create View view_name as select col_name1,col_name2 from table_name [where <condition>]

• Example 1>Create view v1 as select name from stud;

2>Create view v2 as select name from stud where addr=‘Nashik’;

DDL Commands for View

•Show View

•Syntax

Select col_name1,.. from View_name

[where condition]

•Example

Select * from v1;

DDL Commands for View

•Drop View

•Syntax

Drop View view_name

•Example

Drop View v1;

Sequence- Using AUTO_INCREMENT Column

AUTO_INCREMENT

Syntax • CREATE TABLE table_name ( column1 datatype NOT NULL

AUTO_INCREMENT,….);

• ALTER TABLE table_name AUTO_INCREMENT = start_value;

Example • CREATE TABLE Bills ( Bill_No INT(11) NOT NULL

AUTO_INCREMENT, name varchar2(20));

• ALTER TABLE Bills AUTO_INCREMENT = 1001;

Assignment

• Create one table employee with fields • Eno –primary key and apply sequence starts with 101 • Ename –not null • Address –default ‘Nashik’ • Joindate • Post • Salary –check > 5000

• Create another table emp_proj with fields • Eno- forign key • Project_name • Loc

• Create Index on Ename field of employee table

• Create View on employee table to show only Employee name, it’s

post and salary.