學習筆記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)
);
- 為表中所有欄位插入資料
每個欄位與其值是嚴格一一對應的。也就是說:每個值、值的順序、值的型別必須與對應的欄位相匹配。但是,各欄位也無須與其在表中定義的順序一致,它們只要與 VALUES中值的順序一致即可。
語法如下:
INSERT INTO 表名(欄位名1,欄位名2,...) VALUES (值 1,值 2,...);
示例:向學生表中插入一條學生資訊 MySQL命令:
insert into student (id,name,age,gender) values (1,'bob',16,'male');