SQL學習之SQL入門篇學習字典
前言:不管是前端工程還是後端工程都需要會SQL,因此我找出來我學習SQL的筆記更新了這篇文章。本篇文章是SQL筆記上篇,介紹了數據庫相關SQL語句(建庫、刪庫、改庫的相關操作)、表相關SQL語句(建表、刪表、修改表相關操作)、數據相關SQL語句(增刪改查) 三個模塊的常用SQL語句。
一、數據庫相關SQL
1、 查看數據庫列表
show databases;
2、 查看某個數據庫詳情
格式:show create database 數據庫名;
show create database sys;
3、 創建數據庫
格式:create database 數據庫名;
create database test_db;
4、 創建指定字符集的數據庫
格式:create database 數據庫名 character set 字符集
create database test_db2 character set utf8;
tip:除了utf8還有其他字符集。例如在中國常用的gbk。
5、 使用指定數據庫
格式:use 數據庫名;
use test_db2;
6、刪除指定數據庫
格式:drop database 數據庫名;
drop database test_db;
Tip:執行SQL語句成功時,會返回Query OK
這類字樣,失敗也會返回ERROR
這類字樣。學習一定要活學活用,例如此次我們刪除了test_db
這個數據庫,你可以用前面學的show databases;
查看是否刪除成功等。記住要活學活用!!!
二、表相關SQL
1、建表相關
1.1 創建表
格式:create table student (字段1 字段1類型,字段2 字段2類型,....,字段n 字段n類型);
create table student (stuNO int, name varchar(50),age int, addrees varchar(255));
Tip:常用數據類型有很多,每種數據庫或多或少有點不同。關於數據類型本文不做重點介紹,有需要可以給我留言。
1.2 查看錶列表
show tables;
1.3 查看錶詳情
即查看錶的具體信息,如字段類型、表引擎、字符集等等。
格式:show create table 表名;
show create table student;
Tip:表引擎 有如下兩種 :
- innodb:支持數據庫的高級操作如:外鍵,事務等,默認引擎
- myisam:只支持基礎的增刪改查操作
1.4 創建表時指定殷勤和字符集
格式: create table teacher(字段1 字段1類型,....,字段n 字段n類型) engine=myisam/innodb charset=gbk/utf8;
create table teacher(t_NO int, name varchar(50),age int,addrees varchar(255)) engine=innodb charset=utf8;
1.5 查看錶字段
返回表的字段具體屬性,包括字段名、字段類型、是否爲空、key、默認值、備註。
格式:desc 表名;
desc student;
1.6 刪除表
格式: drop table 表名;
drop table teacher;
2、修改表相關
2.1 修改表名
格式:rename table 原表名 to 新表名;
rename table student to students;
2.2 修改表的引擎和字符集
格式:alter table 表名 engine=myisam/innodb charset=bgk/utf8;
alter table students engine=innodb charset=utf8;
2.3 添加表字段
格式一:在最後面添加alter table 表名 add 字段名 字段類型;
alter table students add results float;
格式二:在前面添加alter table 表名 add 字段名 字段類型 first;
alter table students add hobby varchar(255) first;
格式三:在xxx後面添加alter table 表名 add 字段名 字段類型 after xxx;
alter table students add height float after stuNO;
Tip:用前面提到的查看錶詳情show create table students;
可以驗證你添加的字段是否在你預期的位置。
2.4 刪除表字段
格式:alter table 表名 drop 字段名;
alter table students drop hobby;
Tip:驗證依然可以用上面同樣的方法,後面也是同樣的道理,不再做闡述。記得學習要活學活用。
2.5 修改表字段的名字和類型
格式:alter table 表名change 原字段名 新字段名 新字段類型;
alter table students change height hei int;
2.6 修改表字段的類型和位置
格式一:在xxx後面插入alter table 表名 modify 字段名 類型 after xxx;
alter table students modify results int after stuNO;
格式二:在最前面alter table 表名 modify 字段名 類型 first;
alter table students modify results int first;
三、數據相關
1、插入數據
格式:insert into 表名 values (值1, 值2, ...., 值n);
注意
:這種插入方法插入的值必須與表字段的順序一一對應,並且需要填寫完整的數據,如下,我們表中原本的字段順序是成績、學號、身高、名字、地址,那我們插入的順序也要也其他對應上,並且有多少個字段就要寫多少個值。
insert into students values (100,202010001,182,'Tom',22,'nanning');
Tip:用 select * from students;
驗證,這句sql是查看標準所以數據,後面會有關於查詢數據的詳細介紹。這裏先知道這樣用就得,下面關於天機數據的都可以用這樣來查詢驗證。
2、指定字段插入數據
即,只插入某些字段數據,而不用全部填寫完一條完整的數據。
格式:insert into students(字段名1, 字段名2, ...., 字段名n) values(值1, 值2, ..., 值n);
insert into students(name) values('湯姆');
3、批量插入數據
格式: insert into 表名 values (字段1值,字段2值,…,字段n值), (…),(n字段1值,n字段2值,…,n字段n值);
insert into students values(202010002,'張三',23),(202010003,'李四',21);
**Tip:**爲了方便演示批量插入操作,我刪除了results、hei、addrees這三個字段。沒有指定插入指定的都要想1那樣一一對應並且添加完整的一條或若干條數據
4、查詢某表的全部數據
格式:select * from 表名;
select * from students;
Tip:*
的位置寫要查詢的字段,而 *
號代表全部字段
5、查看指定字段的全部數據
格式: select 字段1,..,字段n from 表名;
例如,查詢students表中全部的學生名字
select name from students;
6、where關鍵字的使用
我們查詢數據經常是有條件,例如我們要查詢name爲 張三 的學生的全部信息。
select * from students where name='張三';
分析:
where是條件查詢的關鍵字。
首先我們讀題目,題目要求查name爲張三的全部信息,
其中name爲張三是本題的條件,全部信息是我們要查的字段。
所以 where的條件是name = ‘張三’,要查詢所有信息所以用 * 號代表。
練習1 : 查詢年齡小於22的學生的名字和年齡。
7、修改數據
格式: update 表名 set 要修改字段名=新值 where 條件;
例如,把name爲Tom的學生的名字修改爲王五
update students set name = '王五' where name = 'Tom';
練習2:把學號爲202010002的學生年齡改爲18。
8、刪除數據
格式: delete from 表名 where 條件';
例如,刪除名字
delete from students where name='張三';
練習3:刪除id爲202010002的學生信息。
四、總結
SQL筆記上到這裏就結束了,但是我相信很多人看了都很難記住,所以總結一下方便大家記憶。
- 1、凡是刪除對象結構的都用
drop
,如刪除表和數據庫;刪除數據則用delete
- 2、修改對象結構的都用
alter
,如修改表引擎和字符集、添加字段、修改字段的名字類型位置等。除修改表名。修改表數據則用update
- 3、
show
關鍵字後面table
、databse
都要加s
,from
後面則不用,初學者很容易搞混。 - 4、最重要還是熟能生巧,多練習。記不住就收藏下來或者直接做成自己的筆記字典需要的時候就拿出來直接搜關鍵字就知道咯。
你以爲SQL到這裏就學完了?其實你纔剛入門,數據庫最關鍵的還是查詢,查詢有子查詢、左/右查詢、內查詢、 外查詢等等,而且實際的工作過程中用的也是非常頻繁,尤其是搞後端。所以SQL下篇則是進階篇,介紹查詢相關操作,以及數據庫的約束條件,如主鍵約束、外鍵約束、唯一約束、非空約束等。敬請期待吧!