1. 程式人生 > 其它 >學習筆記12

學習筆記12

一、MySQL

一、SQL簡述

1.SQL的概述
Structure Query Language(結構化查詢語言)簡稱SQL,它被美國國家標準局(ANSI)確定為關係型資料庫語言的美國標準,後被國際化標準組織(ISO)採納為關係資料庫語言的國際標準。資料庫管理系統可以通過SQL管理資料庫;定義和操作資料,維護資料的完整性和安全性。

2.SQL的優點
1、簡單易學,具有很強的操作性
2、絕大多數重要的資料庫管理系統均支援SQL
3、高度非過程化;用SQL操作資料庫時大部分的工作由DBMS自動完成

3.SQL的分類
1、DDL(Data Definition Language) 資料定義語言,用來操作資料庫、表、列等; 常用語句:CREATE、 ALTER、DROP
2、DML(Data Manipulation Language) 資料操作語言,用來操作資料庫中表裡的資料;常用語句:INSERT、 UPDATE、 DELETE
3、DCL(Data Control Language) 資料控制語言,用來操作訪問許可權和安全級別; 常用語句:GRANT、DENY
4、DQL(Data Query Language) 資料查詢語言,用來查詢資料 常用語句:SELECT

二、資料庫、資料表的基本操作

1.資料庫的基本操作
MySQL安裝完成後,要想將資料儲存到資料庫的表中,首先要建立一個數據庫。創 建資料庫就是在資料庫系統中劃分一塊空間儲存資料,語法如下:

create database 資料庫名稱;

建立一個叫db1的資料庫MySQL命令:

-- 建立一個叫db1的資料庫

show create database db1;

建立資料庫後檢視該資料庫基本資訊MySQL命令:

show create database db1;

執行效果展示:

刪除資料庫MySQL命令:

drop database db1;

查詢出MySQL中所有的資料庫MySQL命令:

show databases;

將資料庫的字符集修改為gbk MySQL命令:

alter database db1 character set gbk;

切換資料庫 MySQL命令:

use db1;

檢視當前使用的資料庫 MySQL命令:

select database();

將資料庫的字符集修改為gbk MySQL命令:

alter database db1 character set gbk;

2.資料表的基本操作
資料庫建立成功後可在該資料庫中建立資料表(簡稱為表)儲存資料。請注意:在操作資料表之前應使用“USE 資料庫名;”指定操作是在哪個資料庫中進行先關操作,否則會丟擲“No database selected”錯誤。
語法如下:

 create table 表名(
         欄位1 欄位型別,
         欄位2 欄位型別,
         …
         欄位n 欄位型別
);

2.1 建立資料表
示例:建立學生表 MySQL命令:

 create table student(
 id int,
 name varchar(20),
 gender varchar(10),
 birthday date
 );

2.2 檢視資料表
示例:檢視當前資料庫中所有表 MySQL命令:

show tables;

示例:查表的基本資訊 MySQL命令:

show create table student;

示例:查看錶的欄位資訊 MySQL命令:

desc student;

2.3 修改資料表
有時,希望對錶中的某些資訊進行修改,例如:修改表名、修改欄位名、修改欄位 資料型別…等等。在MySQL中使用alter table修改資料表.
示例:修改表名 MySQL命令:

alter table student rename to stu;

示例:修改欄位名 MySQL命令:

alter table stu change name sname varchar(10);

示例:修改欄位資料型別 MySQL命令:

alter table stu modify sname int;

示例:增加欄位 MySQL命令:

alter table stu add address varchar(50);

示例:刪除欄位 MySQL命令:

alter table stu drop address;

2.4 刪除資料表
語法:

drop table 表名;

三、資料表插入資料
在MySQL通過INSERT語句向資料表中插入資料。在此,我們先準備一張學生表,程式碼如下:

 create table student(
 id int,
 name varchar(30),
 age int,
 gender varchar(30)
 );
  1. 為表中所有欄位插入資料
    每個欄位與其值是嚴格一一對應的。也就是說:每個值、值的順序、值的型別必須與對應的欄位相匹配。但是,各欄位也無須與其在表中定義的順序一致,它們只要與 VALUES中值的順序一致即可。
    語法如下:
INSERT INTO 表名(欄位名1,欄位名2,...) VALUES (值 1,值 2,...);

示例:向學生表中插入一條學生資訊 MySQL命令:

insert into student (id,name,age,gender) values (1,'bob',16,'male');

練習程式碼:https://gitee.com/zhang_yu_peng/document-transmission-project/blob/master/search/views.py