Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Database - mysql 장은영 [email protected] Contents Database – DBMS – Relational model SQL – MySQL Database Database – a collection of data – Entity, relationship DBMS – Database management system DBMS Why use a DBMS? – – – – – efficient access reduced application development time data integrity and security concurrent access recovery from system crash Relational model Most widely used data model Relation – A set of records – Schema • Name of a relation, name of each fields – Instance • A table with rows and columns Students(sid:string, sname:string, snum:integer) Fields (attributes, columns) Field names Tuples (records, rows) sid sname snum euny Chang Eun Young 99 cavalist Ryu Han Seung 99 netj 00 Jaeho Shin SQL Structured query language Standard language for interacting with a DBMS Data definition Manipulation MySQL Connect – mysql [–h host] [–u user] [–p[password]] [dbname] >mysql -u euny -p test Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 to server version: 3.23.34a Type 'help;' or '\h' for help. Type '\c' to clear the buffer mysql> MySQL Data definition – CREATE/DROP DATABASE dbname; – SHOW DATABASES; – USE dbname; – CREATE TABLE table_name (field_name type,.., constraints,..); – SHOW TABLES; – SHOW COLUMNS FROM table_name; – DROP TABLE table_name; MySQL Data manipulation – INSERT INTO table_name [(field_name,..)] VALUES (value,..); – DELETE FROM table_name WHERE condition; – UPDATE table_name SET field_name=value,.. [WHERE condition]; MySQL Data manipulation(2) – SELECT field_name [as field_name],.. FROM table_name [WHERE condition] [ORDER BY field_name]; – =, <, >, AND, OR, NOT (field_name LIKE “_%….”) MySQL ALTER TABLE – ALTER TABLE table_name [RENAME new_table_name]/ [ADD field_name type]/ [DROP field_name]/ [CHANGE name new_name new_type]; mysql> show databases; +----------+ | Database | +----------+ | mysql | | test | +----------+ 2 rows in set (0.00 sec) mysql> use test; Database changed mysql> create database test2; Query OK, 1 row affected (0.00 sec) mysql> CREATE TABLE Students( -> sid VARCHAR(8) NOT NULL, -> sname VARCHAR(20), -> snum INT, -> PRIMARY KEY(sid)); Query OK, 0 rows affected (0.01 sec) •Data Type : •CHAR, VARCHAR, INT [Unsigned], FLOAT •DATE, TEXT/BLOB, SET, ENUM •Constraints : •PRIMARY/FOREIGN KEY, NOT NULL mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | students | +----------------+ 1 row in set (0.00 sec) mysql> show columns from students; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | sid | varchar(8) | | PRI | | | | sname | varchar(20) | YES | | NULL | | | snum | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.01 sec) mysql> INSERT INTO Students -> VALUES ('euny', 'Chang Eun-young', 99); Query OK, 1 row affected (0.00 sec) … mysql> SELECT * FROM Students; +----------+-----------------+------+ | sid | sname | snum | +----------+-----------------+------+ | euny | Chang Eun-young | 99 | | cavalist | Ryu Han Seung | 99 | | netj | Jaeho Shin | 2000 | +----------+-----------------+------+ 3 rows in set (0.00 sec) mysql> DELETE FROM Students -> WHERE sid='euny'; Query OK, 1 row affected (0.00 sec) mysql> UPDATE Students -> SET sid='asdf' -> WHERE sid='euny'; Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM Students; +----------+-----------------+------+ | sid | sname | snum | +----------+-----------------+------+ | asdf | Chang Eun-young | 99 | | cavalist | Ryu Han Seung | 99 | | netj | Jaeho Shin | 2000 | +----------+-----------------+------+ 1 row in set (0.00 sec) mysql> SELECT * FROM Students ORDER BY sname; +----------+-----------------+------+ | sid | sname | snum | +----------+-----------------+------+ | asdf | Chang Eun-young | 99 | | netj | Jaeho Shin | 2000 | | cavalist | Ryu Han Seung | 99 | +----------+-----------------+------+ 3 rows in set (0.02 sec) mysql> SELECT sname FROM Students WHERE snum=99; +-----------------+ | sname | +-----------------+ | Chang Eun-young | | Ryu Han Seung | +-----------------+ 1 row in set (0.00 sec)