MySQL:03---DDL(資料庫與表的建立、刪除等),DML(表資料的增、刪、改等)
阿新 • • 發佈:2018-12-31
一、資料定義語言(DDL)
1.概念:定義資料庫、資料表、函式、檢視、索引、觸發器等
2.資料庫的基本操作
①資料庫的建立
- create database 資料庫名; //建立資料庫用預設的字符集
- create database 資料庫名 default character set utf8; //建立資料庫時指定字符集
- create database if not exists 資料庫名 default charset utf8 collate utf8_general_ci; //如果資料庫不存在則建立,並設定字符集與排序規則
②其他操作
- 資料庫的刪除:drop 資料庫名;
- 資料庫的選擇:use 資料庫名;
- 列出所有資料庫:show databases;
3.表的基本操作
①建立資料表
- create table 表名(欄位名 列資料型別 約束,......);
- 例:create table person(ID int,name varchar(255));
- create table 表名(.....)engine=InnoDB,default charset=utf8; //建表時指定引擎與字符集
②刪除表
一個表如果有子表外來鍵約束,則不能刪除
drop table 表名;
drop table if exists 表名; //如果表存在則刪除,更嚴謹
③查看錶的結構與內容
只列出表的結構資訊,不列出表內資料資訊
desc 表名;
show columns from 表名;
④其他操作(新增列、刪除列、更改列的資料型別等)
- 新增列:alter table 表名 add 欄位名 資料型別 [約束];
- 刪除列:alter table 表名 drop column 欄位名;
- 更改列的資料型別:alter table 表名 modify 欄位名 新資料型別;
- 列出所有表:show tables;
二、資料操作語言(DML)
1.概念:對資料庫物件的增、刪、改
2.表的插入、更新、刪除
假設有一個表person,表中的欄位依次為 id int,name varchar(255),address varchar(255)
- 單條插入:insert into person values(1,'王五','安徽'); //或:insert into person(id,name,address) values(1,'王五','安徽');
- 多條插入:insert into person values(1,'王五','安徽'),(2,'張三','北京').....;
- 指定欄位插入:insert into person(name,address) values('王五','安徽');
- 更新資料:update person set id=4 address='北京' where name='王五';
- 刪除資料:delete from person where id=4;
- 清空但不刪除表:truncate table 表名;
注意:
- 更新或刪除資料時,如果不用whrere語句篩選,表中所有資料都會改變
- where判斷條件是一個=號