DDL、DML、DCL、DQL相關操作

HuDu發表於2020-07-27

DDL(資料庫定義語言)

資料庫的建立以及刪除

create database mysql_test;
drop database test;

表的建立(create)、修改(alter)、重新命名(rename)、刪除(drop)

建立表
create table s_emp(
    id int primary key,
    last_name varchar(20),
    dept_id int);

create table s_dept(
    id int primary key,
    name varchar(20));

表s_emp是員工表,表s_dept是部門表,但是之間沒有設定外來鍵聯絡
修改表屬性,具體看alter用法

alter table s_emp add constraint 'fk' foreign key(dept_id) references s_dept(id);

實際上等同於
create table s_emp(
    id int primary key,
    last_name varchar(20),
    dept_id int,
    constraint 'kf' foreign key(dept_id) references dept_id(id));
外來鍵(表級約束)

DML(資料庫操控語言)

插入資料(insert)、更新資料(update)、刪除(delete)

 insert into s_dept values(1,"web"),(2,"bigData"),(3,"php"),(4,"java");
 insert into s_emp values(1,"lisi",1),(2,"wangwu",1),(3,"zhangsan",2),(4,"jake",3);
 insert into s_emp(id,last_name) values(5,"birup");
update s_dept set name="hadoop" where id = 1;
替換
把update換成replace即可
delete from s_emp where id=4;

DCL(資料庫控制語言)

具體看MySQL使用者密碼及許可權修改筆記

DQL(資料庫查詢語言)

等值連線

select e.id as id,last_name as name,name as dept_name from s_emp e,s_dept d where e.dept_id = d.id;

左外連線

select s.id,s.last_name,s.dept_id,d.id,d.name from s_emp s left outer join s_dept d on s.dept_id=d.id;

select s.id,s.last_name,s.dept_id,d.id,d.name from s_dept d left outer join s_emp s on s.dept_id=d.id;
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章