sql (structured query language)
是一種規則,定義了如何操作所有關係型資料庫(如 oracle, mysql db2)
sql 通用語法
單行多行書寫,分號結尾
不區分大小寫,但關鍵字建議大寫
注釋單行:-- 這是一段注釋 或 # 這是一段注釋
多行 /* 這是一段注釋 */
sql 分類
ddl (data definition language): 運算元據庫和表
dml (data manipulation language): 增刪改表中資料
dql (data query language): 查詢資料
dcl (data control language): 授權訪問許可權,建立使用者
ddl運算元據庫:
crud:
create
create database mysql 建立指定名稱的資料庫
create database if not exists mysql 建立前判斷是否存在該名稱
create database mysql character set gbk 建立指定字符集的資料庫
retrieve
show databases; 查詢所有資料庫
show create database 『mysql』; 查詢該資料庫的建立語句和字符集
update
alter database mysql character set uft8;
delete
drop databse mysql; 或 drop database if exists mysql;
操作表:
crud:
create
create table t_name ( column1 type1, column2 type2, … columnn typen );
資料庫型別:
int: age int
double: score double(5, 2)
date: yyyy-mm-dd
datetime: yyyy-mm-dd hh:mm:ss
timestamp: yyyy-mm-dd hh:mm:ss, 不賦值為當前值
varchar: name varchar (20), 最大 20 字元
create table t_name ( id int, name varchar(32), age int, score double(4, 1), birthday date, insert_time timestamp );
複製表create table t_name like origin_table_name;
retrieve
show tables 顯示某個資料庫中所有的表
desc table_name 查詢某個表的結構
update
修改表名
alter table old_name rename to new_table;
修改字符集
alter table t_name character set utf8;
新增一列
alter table t_name add col_name type;
修改一列
alter table t_name change name new_name varchar(20);
alter table t_name modify name varchar(20);
刪除一列
alter table t_name drop name;
delete
drop table t_name 或 drop table if exists t_name
資料庫學習隨筆
這篇隨筆用來記錄資料庫的學習,隨時更新補充,主要寫一些比較少關注的內容 persisted 說明物理儲存計算列的值 書本上的解釋,什麼鬼意思.現實操作中,check foreign key 和 not null 約束要求計算列是持久化 persisted 的。大概它的作用就是這個吧?as conve...
資料庫隨筆
目前軟體開發行業中,無論是移動端開發還是後端開發,基本上都會碰到資料庫的開發,這裡就談談筆者對於資料庫的感想 在移動端亦或是後端開發中,很多時候,我們會感覺到無論是 orm 還是其他方案,都會存在著一些缺點,其實這 於資料庫本身和開發語言本身的衝突,現代化的語言基本上都是物件導向開發,物件導向是從軟...
PG資料庫學習隨筆 1
啟動過程中遇到這個報錯 root db01 createdb mydb createdb could not connect to database template1 fatal role root does not exist我的是centos7系統.使用的yum裝的pg,從網上找了好久,沒有找...