-
1 # 清水幽萍47587224
-
2 # 機器小軍
可以先網上下載一個vmware虛擬機器在裝一個ubuntu(網上有安裝教程)。然後用sudo apt-get install sqlite3安裝資料庫,然後開始熟悉資料的基本常用操作命令,有了直觀操作感受後,後期可以直接在程式碼裡來測試。
手動建立資料庫
說明:
1. 在一個語句結束後要以 ";"結束當前的輸入
2. 在系統命令,以"."開始的命令,不需要加分號
sudo apt-get install sqlite3
1. 建立資料庫
sqlite3 my.db
2. 顯示幫助資訊
.help
3. 退出資料庫
.quit
.exit
4.顯示當前開啟的資料庫檔案
.database
5. 建立新表
create table student(number int,age int,name string);
6. 查看錶的結構
.schema student
drop table teacher;
8. 向表中加入記錄(行)
insert into student values(01,23,"zhang");
insert into student values(02,24,"li");
9. 查詢所有的記錄
select * from student ;
10. 根據指定條件搜尋
select * from student where age==23;
select * from student where name="yang";
select * from student where number==02;
select * from student where number==2;
select * from student where name =="yang" and age ==24;
delete from student where number =1;
12.修改表中的記錄
update student set age =20 where number=2 ;
13.在表中新增欄位(列)
alter table student add column score float ;
第一步:搜尋所有的記錄,把記錄全部複製
-
3 # 阿皮來啦
先給出我的核心觀點:學習,無論你是學什麼,也無論你有沒有基礎。思考永遠是第一位的,有些知識你沒接觸過不要緊,用不著害怕,也沒必要害怕。重要的是一秒鐘也不要停止思考,問題要想透徹,正所謂磨刀不誤砍柴工。尤其是作為工程師,要有打破砂鍋問到底的精神,否則你怎麼學都沒用。
首先概覽下mysql的知識體系:
基礎:
sql語句表結構設計調優:
索引、慢查詢最佳化配置引數調優核心原理:
InnoDb儲存引擎 (包括隔離級別、事務、鎖、快取池、回滾日誌等等)Mysqld (包括連線管理、程序管理、查詢快取、查詢最佳化、日誌等等)架構與運維:
使用者與許可權、安全備份與恢復日誌分散式與高可用 -
4 # 架構演進
千古文章一大抄。sql文也是一樣的道理。先找現成的抄。焯熟了之後,按照需求寫,然後自己的總結總結也就會了。
-
5 # 人工智慧崔老師
你好!
作為一名專業教資料庫的高校老師,回答下這個問題。
首先,學習一門語言的方式很多,比如sql語言,可以透過看教材,看教學影片等等方式來自學,教材我推薦《SQL基礎教程》。對於新手來說這本教材還是很不錯的,附有講解影片與程式碼,並且這本教材內的知識點簡單易懂;
第二、除了找教材之外,最重要的就是要勤練練習,建議資料庫軟體採用mysql資料庫作為練習的資料庫,主要原因mysql資料庫容易上手,並且很普及。安裝的版本建議選擇mariadb(mysql的開源版本,免費的)版本,這個版本是自帶視覺化工具,更容易上手,選擇windows版本即可;
第三、也是非常重要的一點,這也和我教過的學生多次強調,當學任何一門語言的時候,一定會遇到短時間內解決不了的問題,這時候不要放棄,首先要找到問題的原因所在,然後去網路上查詢解決方法,基本上透過網路能夠解決掉百分之九十九的的技術問題,長期堅持下去一定會有收穫,發有發自內心的自豪感;
最好,我還要科普一下,sql語言是所有關係型資料庫的通用語言,就像英語仍然是全球的通用語言一樣,所以學好sql語言是 掌握資料庫應用的關鍵,目前市面上主流的關係性資料庫有mysql、oracle、db2等等。
備註:下載網址:https://downloads.mariadb.org/。
-
6 # 工科男的執著
首先你需要明白什麼是SQL語言:SQL語言是資料庫查詢以及程式設計的語言,用於存取資料以及查詢、更新、刪除等操作。 其次,要從這六方面去學習:資料查詢、資料操作、事物控制、資料控制、資料定義、指標控制。 一、資料查詢語言,是最常用的語言、基本語法為(大寫字母為關鍵字) SELECT 表字段1,表字段2,表字段3 FROM 表名 WHERE (條件) ORDER BY 表字段i GROUP BY 表字段1,表字段2,表字段3; 二、資料操作語言:這裡主要是資料的插入、更新、刪除動作; 1、插入 INSERT INTO 表名 (欄位名1,欄位名2,欄位名3) VALUES(值1,值2,值3) ; 2、更新 UPDATE 表名 SET 表字段=值 WHERE 條件; 3、刪除 DELETE FROM 表名 WHERE 條件; 三、資料控制語言:最簡單理解為 控制可以訪問資料的物件 例如GRANT 關鍵字,定義某資料庫例項可以被某使用者控制 GRANT ALL PRIVILEGES ON 例項名 TO 使用者名稱; 四、事物控制語言;它的語句能確保被查詢語句影響的表的所有行及時得以更新。包括COMMIT(提交)命令、SAVEPOINT(儲存點)命令、ROLLBACK(回滾)命令; 五、資料定義 :定義、刪除、更改庫、表、欄位等 例如CREATE 關鍵字、CREATE DATABASE 資料庫名稱; 六、指標控制語言:像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用於對一個或多個表單獨行的操作; 先了解這麼多,隨著學習深入,你自己就知道該去了解哪些知識了
-
7 # 悟空是我一念成佛
mysqI值得你擁有,其實他們都有共通性,等你精通一樣的其他的語言你都可以觸類旁通!最好C語言,一起教學!這樣效果加倍!
-
8 # 不程式設計亦分析
如果想快速入門,推薦先看這本《MySQL必知必會》,裝個軟體,邊看邊動手,兩週內即可入門。這本書講究實戰,沒有那麼多純理論。
此外MySQL語法與常見的其他近似,比如HIVE SQL,會一個別的資料庫也很容易入門。SQL百分之九十以上的都是差不多的,不同資料庫會有細微差異。
-
9 # IT職場人
1、先要準備sql環境
目前市面上資料庫產品非常多,型別也很多,比如關係型資料庫、nosql、newsql之類的。初學者只建議學關係型資料庫,這也是計算機相關專業大學課程裡面要學的,是基礎。目前國內主流的關係型資料庫主要三種oracle,mysql,sql server,不廢話首選mysql,具體的我也不去說了,這裡面會講出一堆事。
用mysql首先去下載一個客戶端,可以去官網下載根據你的電腦是32還是64位來選擇。
再去下一個mysql的管理工具Navicat ,網上按照配置教程很多,可以去查下。
2、學習基本操作。
這個階段你可以買一本mysql入門的書,但是看書要講究技巧的。這是一門實戰的技術,講究實操,就是平時要多練習,多在Navicat 中操作,很多軟體工程師平時不寫sql都忘記了,讓他寫很基礎的還寫不出來。關於怎麼看書我有個心得:我覺得書的前面,介紹資料庫的基礎知識這些章節,先放在後面,等你會了再看,直接上手寫sql。重點看怎麼建立表,加欄位,資料型別,再就是sql的增刪改查,常見的函式,索引,主外來鍵就可以了,如果你能熟悉操作就入門了。
另外sql是資料庫的標準語音,資料庫是一門非常龐大且很複雜的學科,目前國產資料庫與國外差距很大,學習的內容非常多,希望你能學習順利早日成長為高手。
-
10 # palfan
愛好是最好的老師,SQL安裝是比較複雜的,如果安裝還未成功,就已經磨滅了你學習的愛好,實在得不償失。
接下來推薦的免裝SQL,可以讓你領會SQL資料查詢語言的精妙,快速入門,感興趣之後在深入學習或許是不錯的選擇。
1、https://sqlbolt.com/lesson/select_queries_with_outer_joins
如果英語足夠好,推薦這個網站,絕對足夠入門。
2、http://xuesql.cn/
這個網站是上面網站的漢化版本,還多了些問題,如果英語不夠好,以這個網站入門也不錯。
記住,學習,一定要簡單!
在你的愛好消磨殆盡之前,領悟到是否對自己有用,
如果沒用,放棄!
有用,再深入學習!
千萬不要在半途而廢的學習上花費太久...
-
11 # 簡單說技術
SQL是結構化查詢語言,它跟其它開發程式語言有很大的不同。要學好這門程式語言,我覺得首先你應至少大概瞭解這門語言的用途,以免最後與期望相差太遠。
SQL語言是專門針對資料庫操作而設計的,它不能直接用來開發我們常見的桌面軟體或WEB應用專案前臺,但是SQL卻在這些軟體專案開發中充當重要角色。一般常見的軟體及WEB專案都會涉及到資料庫,而SQL正是查詢及操作資料庫的利器,也即是說SQL主要是和資料庫打交道的。
SQL是一門語法很簡單的語言,學好它並不是很難,我們可以透過很多途徑學習,比如:書籍教材,論壇、部落格等。
SQL入門,可以先從最基礎的語法開始,先學習基本的資料表結構,增、刪、 改、查語句,查詢語句的結構,函式的使用等;然後再進一步學習索引、檢視、儲存過程、遊標、觸發器等內容;等基本內容都熟悉後,我們自然會有更高的目標了,可以去學習最佳化、資料庫管理等內容。
程式設計是一項實踐性很強的技術,真正要學好它,我們應該明確,不能以學代練,所以可以使用當下流行的資料庫管理系統軟體,如Oracle、MySQL、MSSQL等多練習實踐。
回覆列表
首先掌握基本查詢,深入點再掌握資料庫表結構設計方法。以下我們以某oracle資料庫中的表sys_user、sys_depetment和sys_employee舉例
表結構如下:
(1)、sys_user(使用者表)
(1)、sys_depetment(部門表)
(2)、sys_employee(僱員表)
ER圖到關係模式集的轉換
以二元聯絡型別的轉換為例
1. (實體型別的轉換):將每個實體型別轉換成一個關係模式,實體的屬性即為關係模式的屬性,實體識別符號即為關係模式的鍵。
2. (聯絡型別的轉換):
1. 若實體間聯絡是1:1,可以在兩個實體型別轉換成的兩個關係模式中任意一個關係模式的屬性中加入另一個關係模式的鍵(作為外來鍵)和聯絡型別的屬性。
2. 若實體間聯絡是1:N,則在N端實體型別轉換成的關係模式中加入1端實體型別的鍵(作為外來鍵)和聯絡型別的屬性。
3. 若實體間聯絡是M:N,則將聯絡型別也轉換成關係模式,其屬性為兩端實體型別的鍵(作為外來鍵)加上聯絡型別的屬性,而鍵為兩端實體鍵的組合。
例項:教學管理的ER圖轉換成關係模式集
教學管理的ER圖
第一步:把三個實體型別轉換成三個模式:
系(系編號,系名,電話)
教師(教工號,姓名,性別,職稱)
課程(課程號,課程名,學分)
第二步:
1. 對於1:1聯絡“主管”,可以再“系”模式中加入教工號(教工號為外來鍵,用波浪線表示);
2. 對於1:N聯絡“聘用”,可以再“教師”模式中加入系編號和聘期兩個屬性(系編號為外來鍵);
3. 對於1:N聯絡“開設”,可以再“課程”模式中加入系編號(系編號為外來鍵)
這樣得到的三個模式成如下形式:
第三步:對於M:N聯絡“任教”,則生成一個新的關係模式:
第四步:整合後關係模式如下:
系統使用者(使用者編號,使用者姓名,使用者登入名,使用者登入密碼,僱員編號)
僱員(僱員編號,僱員姓名,年齡,性別,職務,部門編號)
部門(部門編號,部門名稱,部門編號)
1、增
insert into sys_user (USERID, USERCODE, USERPASS, EMPID, USERNAME, VALIDFLAG, LASTCHANGEDATE)
values ("c9e5d6f90f02428ea8a9cc4410dc5c06", "Daibz", "c4ca4238a0b923820dcc509a6f75849b",
"fd767722ffa741cf89db964873bf4f75", "代邦振", "1", to_date("07-05-2018 13:54:25", "dd-mm-yyyy hh24:mi:ss"));
2、刪
delete from sys_user where usercode="Daibz"
3、改
update sys_user set userpass="c4ca4238a0b923820dcc509a6f75849b" where usercode="test"
update sys_user set userpass="1" where usercode="test"
4、查
select * from sys_user
select * from sys_employee
select * from sys_department
模糊查詢:
select * from sys_user where username like "代__"
select * from sys_user where username like "%代%"
多表查詢:
多表連線查詢透過表之間的關聯欄位,一次查詢多表資料。
下面將依次介紹 多表連線中的如下方法:
1、from a,b
2、inner join
3、left outer join
4、right outer join
兩個表的deptno欄位關聯。
1、from 表1,表2
語法:select a.x,b.y from a,b where a.id=b.id;
例項:
返回所有滿足where條件的行
select a.empid as 員工編號, a.empname as 員工名稱, b.depname as 部門
from sys_employee a, sys_department b
where a.depid = b.depid; 擴充套件:查詢使用者名稱,姓名,部門,密碼select u.username as 使用者名稱,e.empname as 姓名,d.depname as 部門,u.userpass as 密碼 from sys_user u,sys_employee e,sys_department d where u.empid=e.empid and e.depid=d.depid
2、inner join
語法:select a.x from a inner join b on a.id=b.id;
inner 可以省略.
例項:
select a.empid as 員工編號, a.empname as 員工名稱, b.depname as 部門
from sys_employee a inner join sys_department b on a.depid = b.depid;
擴充套件:查詢使用者名稱,姓名,部門,密碼
select u.username as 使用者名稱,e.empname as 姓名,d.depname as 部門,u.userpass as 密碼
from (sys_user u inner join sys_employee e on u.empid=e.empid)
inner join sys_department d on e.depid=d.depid
3、left outer join
查詢結果除了返回包含連線條件的行,還包含左表(a)中不滿足連線條件的行,
其中不滿足連線條件的行中b表的欄位值將被置為空。
語法:select a.x from a inner left outer join b on a.id=b.id;
outer 可以省略.
例項:
select a.empid as 員工編號, a.empname as 員工名稱, b.depname as 部門
from sys_employee a left outer join sys_department b
on a.depid = b.depid;
當查詢中出現過濾條件時:
1)當連線條件後面有where條件時:
select a.empid as 員工編號, a.empname as 員工名稱, b.depname as 部門
from sys_employee a left outer join sys_department b on a.depid = b.depid where a.empname like "%00%";
解釋:先根據連線條件a.depid = b.depid查詢,再對查詢結果按過濾條件查詢。
2)當連線條件後面有and條件時:
select a.empno as 員工編號, a.ename as 員工名稱, b.dname as 部門 from scott.emp a left outer join scott.dept b on (a.deptno = b.deptno and b.dname like "SALES")
解釋:先對b表按過濾條件查詢,再對結果執行左連線查詢。
select a.empid as 員工編號, a.empname as 員工名稱, b.depname as 部門
from sys_employee a left outer join sys_department b on (a.depid = b.depid and a.empname like "%00%");
4 、right outer join
查詢結果除了返回包含連線條件的行,還包含右表(b)中不滿足連線條件的行,
其中不滿足連線條件的行中a表的欄位值將被置為空。
語法:select a.x from a inner right outer join b on a.id=b.id;