關於資料庫的介紹和操作 -- sqlite3
資料庫 -- sqlite3
一、資料庫的定義
資料庫是一個有結構、有集合、可共享的統一管理的資料集合。DataBase:簡稱DB。
二、資料庫的特點
1. 實現資料共享
資料共享包含所有使用者可同時存取資料庫中的資料,也包括使用者可以用各種方式通過介面使用資料庫,並提供資料共享。
2. 減少資料的冗餘度
減少了資料冗餘,保持了資料的一致性。
3. 保持資料的獨立性
資料的獨立性包括邏輯獨立性(資料庫中資料庫的邏輯結構和應用程式相互獨立)和物理獨立性(資料物理結構的變化不影響資料的邏輯結構)。
4. 故障恢復
可以及時發現故障和修復故障,從而防止資料被破壞。
三、資料庫的分類
資料庫一般分為4類,包括層次式資料庫、網路式資料庫、關係式資料庫和麵對物件資料庫。
1. 層次資料模型
層次結構模型實質上是一種有根結點的定向有序樹。它是以記錄型別為結點,以結點間聯絡為邊的有序樹,資料結構為有序樹或森林。
2. 網狀資料模型
網狀模型用網狀結構表示實體及其之間的聯絡,網中結點之間的聯絡不受層次限制,可以任意發生聯絡。
3. 關係資料模型
關係資料模型是按二維表格形式結構來表示實體。
4. 面向物件模型
面向物件資料庫模型使用面向物件技術來表示資訊世界的實體型別及實體之間聯絡。
四、資料庫產品
資料庫的產品包括Oracle、SQL Server、DB2、Access、MySQL 、SQLite3等。
五、sqlite3資料庫的使用
這裡用的是Linux平臺下的資料庫 -- sqlite3。
1. 進入資料庫
命令:sqlite3 test.db
首先這裡建立了一個名為test.db的資料庫,並進入資料庫。
2. 建立表
命令:create table student(ID integer, name text, sex text, primary key (ID));
建立了一個名為student的表,主鍵為ID,候選鍵有name、sex。
建立表的時候不想重複,則在table後面加上if not exists。
主鍵:用於區分物件,不能重複。
3. 刪除表
命令:drop table student;
4. 插入資料
命令:insert into student values (1 , ‘zheng’ , ‘man’);
如果要插入其中一些資訊,則改為insert into student (name) values (‘zheng’);
5. 查詢表
命令:select * from student; 查詢所有記錄
select ID from student where name = ‘zheng’; 查詢單條資訊
如果要排序的話,order by score asc -> 升序,order by score desc -> 降序。
6. 修改記錄
命令:update student set age = 20 where name = ‘zhang’;
其中where代表修改的條件。
7. 刪除記錄
命令:delete from student where ID = 1;
8. 退出資料庫
.q 或者 .exit 都可以退出資料庫。
9. 其它命令
.head on 顯示候選鍵
.mode column 分開列
.schema student 檢視狀態
以上命令是在sqlite3資料庫裡直接進行操作的。