mysql

安裝mysql教程壤追,網(wǎng)上有很多鸣戴,這里就過多的介紹了档桃。

  • 連接數(shù)據(jù)庫
    打開命令行,輸入以下命令
    mysql -u root -p123456
    以上是mysql在本地的連接方式蝶防,如果mysql安裝在服務器呢甚侣,我們需要怎么連接呢。其實只需要在以上命令上面加上-h 主機名和-P
    端口號即可间学。
    注:端口號的P是大寫的殷费。
    mysql -h 192.168.0.53 -P 3306 -u root -p123456

數(shù)據(jù)庫操作

  • 創(chuàng)建數(shù)據(jù)庫
    create database develop default charset utf8;
    這里創(chuàng)建一個名為develop的數(shù)據(jù)庫 ,并指定默認編碼為utf8。
  • 查看數(shù)據(jù)庫
    show databases;
  • 刪除數(shù)據(jù)庫
    drop database develop;
  • 進入數(shù)據(jù)庫
    use develop;
    查看數(shù)據(jù)庫詳細信息 可以使用 status命令

數(shù)據(jù)類型

sql中的數(shù)據(jù)類型分為三大類低葫,詳細的分類請查看MySQL 中的數(shù)據(jù)類型介紹

  • 數(shù)值類型


  • 日期和時間類型


  • 字符串類型


數(shù)據(jù)表操作

  • 查看所有數(shù)據(jù)表
    show tables;
  • 創(chuàng)建數(shù)據(jù)表
create table t1(
   #id從1自動省長,并設置為主鍵
    id int auto_increment primary key,
    #設置name不可以為null,如果插入時沒有name則會報錯,默認是可以為null
    name varchar(50) not null,
    #設置username不可以為null,并且其值在數(shù)據(jù)表里是唯一的,不可重復
    username varchar(255) uniqu not null,
    #設置age是無符號的正整數(shù),并且默認值為0
    age int unsigned default(0) 
)
  • 顯示表信息
    desc t1;
    查看表結構
    show create table t1;
    顯示創(chuàng)建表的sql語句
  • 添加列
    alter table t1 add phone varchar(50);
  • 修改列
    alter table t1 change phone age int;
    把原先的phone列改名為age详羡,并修改數(shù)據(jù)類型為int
  • 刪除列
    alter table t1 drop phone;
  • 刪除表
    drop table t1;

數(shù)據(jù)行操作

  • 插入
    往數(shù)據(jù)表里插入數(shù)據(jù)
    insert into t1 (column1,column2...) values (value1,vaule2...);

  • 查詢
    查詢是數(shù)據(jù)庫里使用的最頻繁的操作,據(jù)統(tǒng)計數(shù)據(jù)庫的讀寫比例為10:1嘿悬,由此可見查詢是有多么重要实柠。
    為了滿足各種復雜的需求,我們也需要寫出各種復雜的sql善涨,所以難度系數(shù)最高的也是查詢窒盐。

    • 簡單的查詢
      select * from t1;
      從數(shù)據(jù)表里獲取所有記錄,這里的*是一個通配符钢拧,即返回結果集里所有列
    • 帶條件查詢where
      select id,name from t1 where id = 1;
      從t1表中查詢符合id=1行的id蟹漓,name
    • in操作符
      in查詢某值是否在某條件里,相反的也有not in
      select * from t1 where id in (select cid from t2 where name = 'test')
      select 語句返回的結果集可以作為條件繼續(xù)查詢
    • 多條件查詢 and源内,or
      and 邏輯與 即兩邊的條件都符合才成立
      or 邏輯或 即兩邊的條件只要滿足一個就成立
      select * from meizi where name='lucy' or (height>160 and weight <= 120)
      這里使用了一個算術優(yōu)先級牧牢,把括號內的內容做為一個整體條件
    • 范圍匹配
      select * from meizi where age between 18 and 30 ;
      查找age在18~30之間的所有行,這里只能采用and操作符,不能使用or
    • null
      select * from meizi address is null;
      查找符合地址為null的數(shù)據(jù)
      select * from meizi address is not null;
      查找地址不為null的mz
    • 通配符
      • "%" 匹配任意數(shù)目字符(包括零個字符)
      • "_" 匹配任何單個字符
        在sql中匹配模式中不能使用!=或者=來進行匹配塔鳍,而是使用like或not like比較操作符伯铣。
        使用示例:
        select * from t1 name like 'l%'
        匹配所有name以l開頭的
        select * from t1 name like '_ucy'
        匹配所有name第一個字符為任意字符,并以ucy結尾
    • 排序
      排序使用order by對指定的列進行排序轮纫,使用 desc降序 asc升序 排序規(guī)則進行排序
      select * from meizi order by age desc;
      對age進行降序排序腔寡,最大的數(shù)值在最前面。如果不指定desc掌唾,則默認按asc升序進行排序
      對多個列排序
      select * from meizi order by age desc放前,name,height;
      如果第一個列值相同糯彬,才會對二個列按指定的規(guī)則進行排序凭语,第三列同上
      order by 可以對任何數(shù)據(jù)類型進行排序,varchar撩扒,text等類型 則按ascii碼表的值進行排序
    • 聚合函數(shù)
      mysql常用的聚合函數(shù)如下:
      • count(exrp) 返回指定列中非null值的個數(shù)
      • avg(exrp) 返回指定列的平均值
      • max(exrp) 返回指定列的最大值
      • min(exrp) 返回指定列的最小值
      • sum(exrp) 返回指定列的所有值的和
    • 分組查詢
      使用group by對指定列不同的值進行分組似扔,group by一般和聚合函數(shù)一起使用才有意義
      使用group by有兩個要素
      • 出現(xiàn)在select后面的字段 要么是是聚合函數(shù)中的,要么就是group by 中的.
      • 要篩選結果 可以先使用where 再用group by 或者先用group by 再用having
        having和where都是對條件進行篩選,SQL語言中設定集合函數(shù)的查詢條件時使用having而不是where搓谆。通常情況下炒辉,having被放置在SQL命令的結尾處。

    使用示例:
    select age from t1 group by age;
    select age,height from meizi where age >18 group by height having height > 165;

    • 連接查詢
      在sql中 分為三個連接
      • inner join 內連接(一般簡寫為join)泉手,獲取兩個表中字段匹配關系的記錄
      • left join 左連接黔寇,獲取左表所有記錄,即使右表沒有對應匹配的記錄
      • right join 右連接斩萌,與left join相反

    這三種連接的使用方式都是相同的缝裤,只是連接后的取值方式略有差異
    使用示例:
    select * from t1 join t2 on t1.id = t2.pid
    使用連接操符后如果沒有 on 的條件,會出現(xiàn)笛卡爾積

  • 刪除
    delete from t1;
    這樣是刪除整個表里的數(shù)據(jù)颊郎,請謹慎使用倘是。
    如果只是刪除指定的的數(shù)據(jù),使用where關鍵字后跟上根據(jù)查詢條件刪除袭艺。如:
    delete from t1 where name = 'test';
    刪除name等于test的所有行

  • 更新
    更新數(shù)據(jù)表搀崭,使用update關鍵字,后面也需要跟上查詢條件進行更新猾编,否則是更新整個表
    update t1 set name='czlyj' where id = 1;
    更新所有符合id=1行

注:執(zhí)行更新和刪除操作時瘤睹,尤其要謹慎,一但操作失誤答倡,數(shù)據(jù)也無法恢復轰传,所以盡量使用唯一的條件去匹配,避免照成不必要的損失瘪撇。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末获茬,一起剝皮案震驚了整個濱河市港庄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌恕曲,老刑警劉巖鹏氧,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異佩谣,居然都是意外死亡把还,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門茸俭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吊履,“玉大人,你說我怎么就攤上這事调鬓⊥а祝” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵腾窝,是天一觀的道長缀踪。 經(jīng)常有香客問我,道長燕锥,這世上最難降的妖魔是什么辜贵? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任悯蝉,我火速辦了婚禮归形,結果婚禮上,老公的妹妹穿的比我還像新娘鼻由。我一直安慰自己暇榴,他們只是感情好,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布蕉世。 她就那樣靜靜地躺著蔼紧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狠轻。 梳的紋絲不亂的頭發(fā)上奸例,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音向楼,去河邊找鬼查吊。 笑死,一個胖子當著我的面吹牛湖蜕,可吹牛的內容都是我干的逻卖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼昭抒,長吁一口氣:“原來是場噩夢啊……” “哼评也!你這毒婦竟也來了炼杖?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤盗迟,失蹤者是張志新(化名)和其女友劉穎坤邪,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诈乒,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡罩扇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了怕磨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喂饥。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖肠鲫,靈堂內的尸體忽然破棺而出员帮,到底是詐尸還是另有隱情,我是刑警寧澤导饲,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布捞高,位于F島的核電站,受9級特大地震影響渣锦,放射性物質發(fā)生泄漏硝岗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一袋毙、第九天 我趴在偏房一處隱蔽的房頂上張望型檀。 院中可真熱鬧,春花似錦听盖、人聲如沸胀溺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仓坞。三九已至,卻和暖如春腰吟,著一層夾襖步出監(jiān)牢的瞬間无埃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工毛雇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嫉称,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓禾乘,卻偏偏與公主長得像澎埠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子始藕,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354