03-Mysql-part01[學(xué)習(xí)筆記]

1 - 數(shù)據(jù)庫的常見概念

  • 數(shù)據(jù):Data

  • 數(shù)據(jù)庫:DataBase(DB) 在硬盤上以文件的形式存在

  • 數(shù)據(jù)管理員:DataBase Administrator(DBA)

  • 數(shù)據(jù)庫管理系統(tǒng):DataBase Management System(DBMS)

    常見的有:MySQL Oracle DB2 Sybase SqlServer

                              DBMS負(fù)責(zé)執(zhí)行sql語句 通過執(zhí)行sql語句來操作DB中的數(shù)據(jù)
    
  • 數(shù)據(jù)庫系統(tǒng):DataBase System(DBS)

  • MySQL:數(shù)據(jù)庫

2 - SQL語言

1.DQL(數(shù)據(jù)查詢語言):查詢語句 凡是select語句都是DQL

2.DML(數(shù)據(jù)操作語言):insert delete update 對表當(dāng)中的語句進(jìn)行增刪改

3.DDL(數(shù)據(jù)定義語言):creat drop alter 對表結(jié)構(gòu)進(jìn)行增刪改

4.TCL(事務(wù)控制語言):commit 提交事務(wù) rollback回滾事務(wù) (T代表Transation)

5.DCL(數(shù)據(jù)控制語言) :grant 授權(quán) revoke 撤銷權(quán)限等

數(shù)據(jù)庫存在的意義就是為了做持久化存儲

3 - 數(shù)據(jù)庫基本操作

3.1 - 連接數(shù)據(jù)庫

語法:mysql -h 主機名/IP地址 -u 用戶名 -p 密碼 [數(shù)據(jù)庫名]

-- 連接MySQL但是不指定使用的數(shù)據(jù)庫
mysql -u root -p
-- 連接MySQL的同時指定要使用的數(shù)據(jù)庫
mysql -u root -p 數(shù)據(jù)庫名
-- 連接MySQL的時候指定主機名
mysql -h localhost -u root -p
-- 連接MySQL的時候指定IP地址
mysql -h 127.0.0.1 -u root -p
-- 一步完成數(shù)據(jù)庫的連接
mysql -uroot -ptoor

3.2 - mysql基本操作

  • 通常情況下命令都需要以分號結(jié)束
  • 可以將一條命令在任意一個可以插入空格的位置拆分成多行,當(dāng)遇到分號的時候結(jié)束當(dāng)前的這條命令
  • 可以通過 \c 來取消一條命令的執(zhí)行
  • 幫助信息查看:\hhelp?
  • 查看當(dāng)前數(shù)據(jù)庫服務(wù)器的狀態(tài) \s
  • 將查詢的結(jié)果縱向顯示 \G
  • 退出MySQL的方法:exitquit\q
  • ctrl+C強行終止

3.3 - 常用mysql命令

1.查看有哪些數(shù)據(jù)庫

show databases (這個不是SQL語句 屬于MySQL命令)換成Oracle就不能用了

注意每一個語句后面都要有分號!!L鸸隆I约啤<B尉咕!

2.創(chuàng)建屬于自己的數(shù)據(jù)庫

create database 數(shù)據(jù)庫名(這個不是SQL語句 屬于MySQL命令)

3.使用自己創(chuàng)建的數(shù)據(jù)庫

use ddgenius(這個不是SQL語句 屬于MySQL命令)

4.查看當(dāng)前數(shù)據(jù)庫中有哪些表

show tables;

5.初始化數(shù)據(jù)

mysql > source + 文件路徑(C:\Users\My\Desktop\資料匯總\F.java\java開發(fā)\MySQL數(shù)據(jù)庫\bjpowernode.sql)

可以直接把文件拖過來(太大的命令記事本可能打不開)

6.刪除數(shù)據(jù)庫:drop database bjpowernode

4 - 數(shù)據(jù)表基本操作

4.1 - 介紹

  • 數(shù)據(jù)表就是數(shù)據(jù)庫中最基本的對象(Java 里就是用類對象來表示一個數(shù)據(jù)表的結(jié)構(gòu))單元

  • 每一條數(shù)據(jù)記錄:行

  • 每個字段記錄:列

  • 設(shè)計表之前需要根據(jù)數(shù)據(jù)的對應(yīng)實體和屬性找到對應(yīng)的關(guān)系(聯(lián)系) - E-R圖

    • 實體:你想針對什么具體的事物來創(chuàng)建一個數(shù)據(jù)表
    • 屬性:該事物具備的屬性莹弊,在數(shù)據(jù)表里面用字段來表示

    EX:學(xué)生是實體蟋恬,學(xué)號翁潘,姓名,性別歼争,年齡拜马,成績...等等都是學(xué)生這個實體具備的屬性(字段)

  • 數(shù)據(jù)類型:數(shù)據(jù)表中的屬性具備適當(dāng)?shù)臄?shù)據(jù)類型,盡量避免數(shù)據(jù)的冗余(時優(yōu)空優(yōu))

4.2 - 四大數(shù)據(jù)類型

1 - 數(shù)字

類型名 空間(字節(jié)) 描述
tinyint 1 非常小的整數(shù)類型
smallint 2 比較小的整數(shù)類型
mediumint 3 中等大小的整數(shù)類型
int 4 標(biāo)準(zhǔn)的整數(shù)類型
bigint 8 大整數(shù)類型
float 4 ~ 8 單精度浮點型
double 8 雙精度浮點型
decimal 自定義 以字符串形式顯示浮點數(shù)

整型后面的括號:表示的是顯示的位數(shù)沐绒,并不是存儲的位數(shù)俩莽,比如 int(3),表示的是以3個長度來顯示一個整數(shù)乔遮,如果這個數(shù)據(jù)的實際位數(shù)大于了這個括號中的值扮超,則會截取括號中指定的位數(shù)進(jìn)行顯示,超出部分不會顯示在結(jié)果中

浮點型后面的小括號:float(6,2)表示的是以六位的數(shù)字顯示一個數(shù)值,其中小數(shù)點后保留兩位出刷,顯示位數(shù)當(dāng)中小數(shù)點不算作一位璧疗,比如:1234.56 就符合以上的條件(浮點數(shù)中會四舍五入),存儲也按照小括號里面的約束

2 - 字符串類型

類型名 空間(字節(jié)) 描述
char[(M)] M 不可變長字符串
varchar[(M)] length + 1 可變長字符串
tinyblob / tinytext length + 1 小二進(jìn)制和文本串
blob / text length + 2 小二進(jìn)制和文本串
mediumblob / mediumtext length + 3 中二進(jìn)制和文本串
longblob / longtext length + 4 大二進(jìn)制和文本串
enum 1 / 2 枚舉
set 1 / 2 / 3 / 4 / 8 集合

char和varchar怎么選擇馁龟?

    在實際的開發(fā)中崩侠,當(dāng)某個字段中的數(shù)據(jù)長度不發(fā)生改變的時候,是定長的坷檩,例如:性別却音、生日等都是采用char。

    當(dāng)一個字段的數(shù)據(jù)長度不確定矢炼,例如:簡介僧家、姓名等都是采用varchar。(自動化分配空間裸删,底層有if語句)

3 - 時間和日期

基本不用:時間戳代替

類型名 空間(字節(jié)) 描述
date 3 YYYY-MM-DD
time 3 hh:mm:ss
datetime 8 YYYY-MM-DD hh:mm:ss
timestamp 4 YYYYMMDDhhmmss
year 1 YYYY

4 - NULL值

  • NULL 不意味著沒有值也不意味著未知值
  • 在 MySQL 中可以檢測到某一條數(shù)據(jù)的某一個字段值是否為 NULL
  • 不能對 NULL 進(jìn)行算術(shù)運算,對 NULL 進(jìn)行算術(shù)運算得到的結(jié)果還是 NULL
  • 在 MySQL 當(dāng)中 0 和 NULL 都可以作為 false 的另外一種表現(xiàn)形式阵赠,其他的值都是 true

4.3 - 創(chuàng)建數(shù)據(jù)表

create table 表名(

        字段名1 數(shù)據(jù)類型,

        字段名2 數(shù)據(jù)類型,

        字段名3 數(shù)據(jù)類型,

        ....

    );
create table t_student(
            no bigint,
            name varchar(255),
            sex char(1),
            classno varchar(255),
            birth char(10)
        );

varchar是可變長Q乃!必須給長度

可以使用default添加默認(rèn)值

sex char(1) default 1,//默認(rèn)值1

表的復(fù)制

create table 表名 as select語句;

    將查詢結(jié)果當(dāng)做表創(chuàng)建出來清蚀。

4.4 - 刪除數(shù)據(jù)表

drop table 數(shù)據(jù)表名
drop table if exists t_student; // 當(dāng)這個表存在的話刪除匕荸。

4.5 - 運算符

  • AND 或 && 邏輯與
  • OR 或者 || 邏輯或
  • NOT 或者 ! 邏輯非
  • XOR 或者 ^ 邏輯異或
  • = 判斷是否相等枷邪,相等為真
  • <=> 是否相等榛搔,相等為真,可用于NULL(不推薦)
  • != 或 <> 不等于為真东揣,(<>不推薦)
  • < > <= >= 基本的關(guān)系運算符
  • is null 空為真
  • is not null 非空為真
  • between and 從哪兒到哪兒之間
  • not between and 不在從哪兒到哪兒之間
  • like 匹配字符串践惑,匹配到結(jié)果為真(長得像什么一樣)
  • not like 匹配字符串,沒有匹配到為真(張的不想什么一樣)
  • in 在集合中匹配嘶卧,匹配到了為真
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尔觉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芥吟,更是在濱河造成了極大的恐慌侦铜,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钟鸵,死亡現(xiàn)場離奇詭異钉稍,居然都是意外死亡,警方通過查閱死者的電腦和手機棺耍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門贡未,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事羞秤「淄校” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵瘾蛋,是天一觀的道長俐镐。 經(jīng)常有香客問我,道長哺哼,這世上最難降的妖魔是什么佩抹? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮取董,結(jié)果婚禮上棍苹,老公的妹妹穿的比我還像新娘。我一直安慰自己茵汰,他們只是感情好枢里,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蹂午,像睡著了一般栏豺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上豆胸,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天奥洼,我揣著相機與錄音,去河邊找鬼晚胡。 笑死灵奖,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的估盘。 我是一名探鬼主播瓷患,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼遣妥!你這毒婦竟也來了尉尾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤燥透,失蹤者是張志新(化名)和其女友劉穎沙咏,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體班套,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡肢藐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了吱韭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吆豹。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鱼的,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出痘煤,到底是詐尸還是另有隱情凑阶,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布衷快,位于F島的核電站宙橱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蘸拔。R本人自食惡果不足惜师郑,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望调窍。 院中可真熱鬧宝冕,春花似錦、人聲如沸邓萨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缔恳。三九已至湿刽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間褐耳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工渴庆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铃芦,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓襟雷,卻偏偏與公主長得像刃滓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子耸弄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容