MySQL相关基础知识
一、What's 數據庫??
? ? ? ?1.數據庫(Database,DB):將大量數據保存起來,通過計算機加工而成的可以進行高效訪問的數據集合。如:大型-銀行存儲的信息,小型-電話簿。
2.數據庫管理系統(Batabase Management System,DBMS):用來管理數據庫的計算機系統。
3.關系型數據庫(Relational Database,RDB):目前應用最廣泛的數據庫。
4.結構化查詢語言(Structured Query Language,SQL):專門用于操作 RDB。
5.常見的 5 種關系型數據庫管理系統(Relational Database Management System,RDBMS):
①Oracle Database:甲骨文公司? ? ?②SQL Server:微軟公司? ? ?③DB2:IBM 公司
④PostgreSQL:開源? ?? ? ⑤MySQL:開源
二、數據庫結構
? ? ? ?1.服務器:用于接收并處理其它程序發出的請求的程序(軟件),或者是安裝此類程序的設備(計算機)。
2.客戶端:向服務器發出請求的程序(軟件),或者是安裝此類程序的設備(計算機)。
3.表(table):類似 Excel,由行和列組成的二維表。
4.字段:表的列(垂直方向)。
5.記錄:表的行(水平方向)?!咀⒁狻筷P系數據庫必須以行為單位進行數據讀寫。
6.單元格:行列交匯處?!咀⒁狻颗c Excel 不同,一個單元格只能輸入一個數據。
三、SQL 概要
? ? ? ?1.SQL 語句:用關鍵字、表名和列名等組合而成的一條語句。
2.? ? ?3 種 SQL 語句種類:
(1)DDL(Data Definition Language,數據定義語言):創建、刪除或修改數據庫以及數據庫中的表等對象。
?、貱REATE:創建數據庫和表等對象
?、贒ROP:刪除數據庫和表等對象
?、跘LTER:修改數據庫和表等對象
(2)DML(Data Manipulation Language,數據操作語言):查詢或修改表中的記錄。
?、賁ELECT:查詢表中的數據
②INSERT:向表中插入數據
?、踀PDATE:修改表中的數據
?、蹹ELETE:刪除表中的數據
(3)DCL(Data Control Language,數據控制語言):確認或取消對數據庫中的數據變更的執行操作,以及對用戶的操作數據庫中的對象權限進行設定。
?、貱OMMIT:確認對數據庫中的數據進行的變更
?、赗OLLBACK:取消對數據庫中的數據進行的變更
?、跥RANT:賦予用戶的操作權限
?、躌EVOKE:取消用戶的操作權限
【備注】DML 使用最頻繁。
3.SQL 語句書寫規范:
?、僖苑痔?#xff08;;)結尾;
?、诖笮懖幻舾?#xff0c;不區分關鍵字的大小寫;
? ? ? ? ? ? ? ?【注意】插入到表中的數據是區分大小寫的,如“HI”、“Hi”和“hi”都不同。
?、墼撓盗须S筆將采用“關鍵字大寫,表名和列名的首字母大寫”的格式。
?、軉卧~使用半角空格或換行符隔開
4.常數的書寫方式:
字符串、日期:用單引號括起來('),如'Hello','2016-09-24'。
數字:直接書寫,不用加單引號,如:5。
四、創建數據庫與表
? ? ? ?1.數據庫創建:
-- 語法:CREATE DATABASE <數據庫名稱>
CREATE DATABASE Shop -- 創建名為 Shop 的數據庫
2.表的創建
-- 語法:
-- CREATE TABLE <表名>
-- (
-- ? ? ? ?<列名1> <數據類型> <約束>,
-- ? ? ? ?<列名1> <數據類型> <約束>,
-- ? ? ? ?...
-- ? ? ? ?<表約束1>,
-- ? ? ? ?<表約束2>,
-- ? ? ? ?...
-- )
-- 創建名為 Shohin 的表
CREATE TABLE Shohin
(
? ? shohin_id ? ? CHAR(4) ? ? ?NOT NULL,
? ? shohin_mei ? ?VARCHAR(100) NOT NULL,
? ? shohin_bunrui VARCHAR(32) ?NOT NULL,
? ? hanbai_tanka ?INTEGER ,
? ? shiire_tanka ?INTEGER ,
? ? torokubi ? ? ?DATE ,
? ? PRIMARY KEY (shohin_id)
?);
3.命名規則:
①只能使用半角英文字母、數字、下劃線(_)作為數據庫、表和列的名稱;
②規范要求命名以半角英文字符開頭;
?、勖Q不能重復。
4.數據類型的指定:聲明該列的數據類型,是一種約束。
5.數據類型介紹:
?、買NTEGER:整型,意味不能存儲小數;
?、贑HAR:字符串型,如 CHAR(10)和 CHAR(100)中的括號表名該列可以存儲的字符串的最大長度。它是“定長字符串”,如 CHAR(8) 表示在列中插入 'abc' 時會自動保存成 'abc ? ? '(后面5個半角空格)的形式;
③VARCHAR:字符串型,類似 CHAR,不同的是它是 “可變長字符串”,如 VARCHAR(8) 在插入 'abc',保存的就是字符串 'abc';
?、蹹ATE:日期類型;
... ...
6.約束:
①非空約束:NULL 是空白(無記錄)的意思的關鍵字,NOT NULL 表示必須輸入的約束。
?、谥麈I約束:主鍵是可以確定一行數據的列,一般通過它取特定行的數據,它是唯一的,不允許重復。
... ...
五、更新和刪除表
1.刪除表
-- 語法:DROP TABLE <表名>
DROP TABLE Shohin; -- 刪除名為 Shohin 的表
【注意】被刪的表,無法恢復。
2.更新表
(1)添加列
insert into 表名(列名1,列名2,列名3,列名4) values('數據1','數據2','數據3','數據4');
(2)刪除列
? ? ? ? ? ? ? (3)改
? ? ? ? ? ? ? (4)查
全查 select * from 表名?
篩選查 select * from 表名 where 列名=?
模糊查詢 select * from 表名 where 列名 like concat('%',?,'%')
【備注】concat()函數表示字符串的連接
總結
以上是生活随笔為你收集整理的MySQL相关基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bombing:3证书认证系统设计与实现
- 下一篇: 国产化软件新浪潮:jdk redis m