1、資料庫的基本概念:用來儲存或運算元據內容
2、資料庫型別:關係型資料庫,是目前市場上主流的資料庫,主要代表mysql,oracle
非關係型資料庫,新興資料庫,主要代表mongodb等
3、sql語言 - 無論什麼資料庫產品,都使用sql語言
ddl - 資料定義語言(資料庫+表)
dcl - 資料控制語言(許可權)
dql - 資料查詢語言
dml - 資料操作語言
4、注意
sql語言並不區分大小寫(官方建議大寫)
sql語言使用字串時,建議使用單引號'
5、ddl 主要三個功能 :create|alter|drop
① 資料庫操作
建立資料庫
用法 - create database 資料庫名稱;
檢視資料庫
用法 - show databases;
修改資料庫
用法 - alter database 資料庫名稱 character set utf8(具體操作);
刪除資料庫
用法 - drop database 資料庫名稱;
使用(切換)資料庫
用法 - use 資料庫名稱;
資料庫一旦被建立,很少修改或刪除
②資料表操作
資料型別
數值(number)資料型別
int - 整數
float/double - 浮點型(小數)
decimal - 精確值(金額等)
日期(date)資料型別
date - 日期(預設格式:yyyy-mm-dd)
datetime - 日期時間(yyyy-mm-dd hh:mm:ss)
timestamp - 時間戳(標識:唯一)
字串(string)資料型別
char - 長度固定的字串
定義乙個字串的長度為10,實際儲存的內容為"abc",未被字元占用的位置會以空格補位
varchar - 長度可變的字串
定義乙個字串的長度為10,實際儲存的內容為"abcde"
一、建立資料表
create table (
欄位名稱1 資料型別,
欄位名稱2 資料型別,
...);
約束主鍵約束 - primary key 作用 - 唯一,不可重複
主鍵自增約束 - auto_increment 作為主鍵的字段,用於自增,之後就可以設定主鍵的值為null了
案例:建立使用者表(id,name,pwd,age,email)
create table user (
id int primary key auto_increment, //標識(唯一,不可重複)
name varchar(30),
pwd varchar(30),
age int,
email varchar(30),
);二、刪除資料表
用法 - drop table 表名;
三、檢視表結構
用法 - desc 表名;
6、dml(增刪改)
一、插入(新增)資料
用法一insert into 表名 values(字段值1,字段值2,...);
* 注意 當前表具有多少字段,values輸入多少字段值,如果哪個欄位是主鍵自增的話,使用null補位
用法二insert into 表名(欄位名1,欄位名2,...) values(字段值1,字段值2,...)
* 注意表名後定義多少字段,values後輸入多少字段,當前資料表的字段是允許為空的
練習 - order表
1. 插入orderid,ordername,price,addr,ordertime
insert into order values(null,'linghuchong',3.5,'huashan','2015-11-17 15:44:40')
2. 插入ordername,addr,ordertime字段值
insert into order(ordername,addr,ordertime) values('renyingying',10,'heimuya')
二、 更新(修改)資料
用法一 update 表名 set 欄位名=字段值; 注意 - 修改所有資料(指定字段值)
用法二 update 表名 set 欄位名=字段值 where 欄位名=字段值;
set後面的"欄位名=字段值",為設定的值
where後面的"欄位名=字段值",為查詢的值
用法三 update 表名 set 欄位名1=字段值1,欄位名2=字段值2 where 欄位名=字段值;
練習:修改order表
修改addr字段值為"長春"
update order set addr='長春';
修改id為2記錄的price修改為100
update order set price=100 where orderid=2;
三、 刪除資料
用法一 - delete from 表名; 注意 - 刪除指定表中所有資料
用法二 - delete from 表名 where 欄位名=字段值;
實際的開發中基本不使用delete語句,以防我們的使用者反悔
刪除型別
物理刪除 - 執行delete語句
邏輯刪除
簡單來說,對於使用者來講是刪除的,對於實際來講並沒有刪除
為指定表,增加乙個字段(state|status),表示當前這條記錄是什麼狀態
值為1的話,表示這條記錄是正常的
值為0的話,表示這條記錄是刪除的
7、 dql(查)
基本查詢 - 新老版本查詢所需時間一樣
用法一 - select * from 表名;
用法二 - select 欄位名1,欄位名2,... from 表名;
條件基本查詢
用法 - select * from 表名 where 欄位名=字段值;
複雜條件查詢
and - 表示多個條件同時滿足
or - 表示其中乙個條件滿足
in(set) - 表示乙個字段包含多個值,set - 多個值,之間使用","
= - 表示字段值為指定值
between and - 等於 >= and <=
is null - 匹配null值
!=或<> -匹配不等的值
排序查詢 - order by 欄位名
asc - 正序排序,預設值,如果想要正序排列可以不用寫
desc - 倒序排序
用法 - select * from 表名 where 條件 order by 欄位名;
練習 - myorder
1. 查詢addr為"光明頂"的所有記錄
select * from myorder where addr='光明頂';
2. 查詢id為1或ordername為"renyingying"的所有記錄
select * from myorder where id=1 or ordername='renyingying';
3. 查詢id為1,2,3的所有記錄
select * from myorder where id in(1,2,3);
8、資料庫操作原則 - 只增不刪
資料庫表示的空
'' - 空字串 用is null查詢時不匹配
null - 值不存在 用is null查詢時不匹配
資料庫 資料庫基礎
什麼是sql 結構化查詢語言 structtured query language sql的作用 啟動mysql.exe,連線伺服器後,就可以使用sql來操作伺服器了。類似php中操作mysql的語句就是sql語句 sql標準 由國際標準化組織 iso 制定的,對dbms 資料庫管理系統 的統一操作...
資料庫基礎 資料庫設計
一 資料庫生命週期 1.週期 需求分析,概念結構設計,邏輯設計,物理設計,系統實施,系統執行和維護。2.響應的文件 二 正規化 一般資料庫要求規範化到第三正規化,視具體需求重新調整。第一正規化 1nf 強調列的原子性,即列不能分為多列。第二正規化 2nf 關係屬於第一正規化,且每乙個非主屬性完全函式...
資料庫基礎
一.資料庫事物特徵 1.atomic 原子性 不可分割 2.consistency 一致性 參照完整 3.isolation 隔離性 防止併發 4.durability 永續性 永久儲存資料 二.事物和併發 1.併發問題 第一類丟失,髒讀,虛讀,不可重複讀,第二類丟失更新 不可重複讀的特例 2.鎖的...