day17-mysql相關(guān)指令

1、DDL

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

  • 創(chuàng)建表
    create table user(username varchar(30), password char(32));
  • 查看表結(jié)構(gòu)
    desc user;
  • 查看表創(chuàng)建語句
    show create table user;
  • 刪除表
    drop table user;
  • 創(chuàng)建表指定字符集和引擎
    create table user(username varchar(30), password char(32)) engine=innodb default charset=utf8;
  • 修改字段類型
    alter table user modify username varchar(20);
  • 添加字段
    alter table user add email varchar(30)
    alter table user add email varchar(30) after username;
增刪改查 curd操作

首先通過mysql -uroot -p 進(jìn)入數(shù)據(jù)庫系統(tǒng),創(chuàng)建數(shù)據(jù)庫dudu编矾,進(jìn)入數(shù)據(jù)庫dudu use dudu号胚,然后才是創(chuàng)建表的過程
所有的符號都是英文焚鹊。

  • 創(chuàng)建表開始學(xué)習(xí)增刪改
        mysql> create table user(
            -> id int auto_increment,
            -> name varchar(30) not null,
            -> money int not null,
            -> province varchar(20) default null,
            -> age tinyint unsigned not null,
            -> sex enum('女', '男') not null,
            -> primary key(id)
            -> )engine=innodb default charset=utf8;

【注】單選在插入值的時候诗芜,可以直接使用1 2恨闪,那么1代表女究飞,2代表男置谦,enum類型如不不給值,默認(rèn)是第一個

  • set類型如何插入
    set('吃', '喝', '嫖', '賭', '抽')
    1 2 4 8 16
    4|8|16 如果是后三個亿傅,可以這么寫
    28 也可以加起來媒峡,這么寫
2、DML

增刪改語句

3葵擎、可視化工具

當(dāng)你去操作數(shù)據(jù)庫的時候谅阿,其實(shí)有3中方式
(1)使用mysql自帶的客戶端進(jìn)行操作
(2)使用一些第三方的可視化工具管理數(shù)據(jù)庫 比如navicate、sqlyog
(3)使用代碼去操作數(shù)據(jù)庫酬滤,比如python签餐、java、php

4盯串、DQL

  • query : 查詢
    模糊查詢:like '%德%' 只要有 德 字的都符合要求
    % 代表任意多的字符
    like '柳_' 叫 柳某 的都符合要求
    _ 代表一個任意字符

  • limit:
    limit 2 : 在結(jié)果集中只要前兩個
    limit offset, number : offset代表偏移量氯檐,number代表數(shù)量
    LIMIT number1 OFFSET number2 : number1 是數(shù)量 number2 是偏移量

    上網(wǎng)的時候,經(jīng)常會有分頁嘴脾,每頁顯示10條男摧,
    第一頁:select * from table limit 0, 10
    第二頁:select * from table limit 10, 10
    第三頁:select * from table limit 20, 10
    第n頁:select * from table limit (n-1)*10, 10

  • 分組:
    字段只能出現(xiàn)分組字段和統(tǒng)計信息蔬墩,其它的字段出現(xiàn)沒有意義
    select province, count() from user group by province;
    select province, count(
    ) as c from user group by province having c>=2;
    【注】having經(jīng)常跟在group by的后面,where是跟在表的后面
    select使用順序
    SELECT xxx FROM xxx WHERE xxx GROUP BY xxx HAVING xxx ORDER BY xxx LIMIT xxx;
    取出擁有年齡大于30歲的明星個數(shù)大于兩個且第二多的省份

  • 多表聯(lián)合

        mysql> create table user(
            -> id int auto_increment,
            -> name varchar(30) not null,
            -> gid varchar(10) default 0,
            -> primary key(id)
            -> )engine=innodb default charset=utf8;
mysql> create table goods(
            -> gid int auto_increment,
            -> name varchar(30) not null,
            -> price int not null,
            -> category varchar(20) not null,
            -> primary key(gid)
            -> )engine=innodb default charset=utf8;
        mysql> insert into user(name, gid) values('郭德綱', 1),
            -> ('岳云鵬', 2),
            -> ('曹云金', 0),
            -> ('于謙', 3),
            -> ('牛群', 1),
            -> ('馮鞏', 1),
            -> ('大兵', 4),
            -> ('馬三立', 0),
            -> ('賈玲', 2);
  • 隱式內(nèi)連接
    select user.name as uname, goods.name as gname from user, goods where user.gid=goods.gid;
  • 顯示內(nèi)連接
    select * from user as u join goods as g on u.gid=g.gid;
    select u.name as uname, g.name as gname from user as u join goods as g on u.gid=g.gid;
  • 三表鏈接格式
    select * from user as u join goods as g on u.gid=g.gid join price as p on g.pid=p.pid
指令匯總
一耗拓、什么是SQL
    SQL(Structured Query Language)結(jié)構(gòu)化查詢語言的縮寫拇颅,是一種特殊目的的編程語言,
是一種數(shù)據(jù)庫查詢和程序設(shè)計語言乔询,用于存儲數(shù)據(jù)以及查詢樟插、更新和管理關(guān)系型數(shù)據(jù)庫系統(tǒng);
同時也是數(shù)據(jù)庫腳本文件的擴(kuò)展名竿刁。
二黄锤、SQL分類
    數(shù)據(jù)定義語言(DDL),例如:CREATE食拜、DROP鸵熟、ALTER等語句。

    數(shù)據(jù)操作語言(DML)负甸,例如:INSERT流强、UPDATE、DELETE呻待。

    數(shù)據(jù)查詢語言(DQL)打月,例如:SELECT語句。
    
    數(shù)據(jù)控制語言(DCL)蚕捉,例如:GRANT奏篙、REVOKE。

    數(shù)據(jù)事務(wù)語言(DTL)迫淹,例如:BEGIN秘通、COMMIT、ROLLBACK等語句千绪。
三充易、DDL
1、連接數(shù)據(jù)庫
mysql -h服務(wù)器地址 -u用戶名 -p密碼
基本語法
a.查看庫  show databases
b.創(chuàng)建庫  create database 數(shù)據(jù)庫名
c.刪除庫  drop database 數(shù)據(jù)庫名
d.選中庫  use  數(shù)據(jù)庫名
e.查看表  show tables
f.創(chuàng)建表  create table(字段1 字段類型荸型,字段名2 字段類型2) 表名
g.查看表字段  desc 表名
h.刪除表  drop table 表名
i.指定字符集和引擎
1.存儲引擎 engine=InnoDB
2.創(chuàng)建表時指定字符集default charset=utf8
j.修改表字段類型
alter table 表名 modify 字段名 類型名
k.增加表字段
alter table 表名 add 字段名 類型名
l.增加字段時控制順序
alter table 表名 add 字段名 字段類型 after 字段名2
alter table 表名 add 字段名 字段類型 first
m.刪除表字段
alter table 表名 drop 字段名
n.表字段改名
alter table 表名 change 字段原名 字段新名 字段類型
o.修改表名
alter table 舊表名 rename 新表名
四盹靴、MDL
操作前先建立表
create table user(
    id int auto_increment,
    name varchar(50) not null,
    money float not null , 
    province varchar(20) default null , 
    age tinyint  unsigned not null , 
    sex tinyint not null , 
    primary key (id)
    ) engine= InnoDB default charset=utf8;
a.插入記錄1
insert into 表 values(值1,值2,值n)
插入記錄2
insert into 表(字段1,字段2,字段n) values(值1,值2,值n)
插入數(shù)據(jù)3
insert into star(name, money, province, age, sex)
        values('黃曉明', 2000000,  '山東',  39, 0),
        ( 'angelababy', 3000000, '上海', 27, 1),
        ( '陳赫', 150000, '福建', 31, 0);
刪除記錄   delete from 表 where 條件
修改記錄   update 表 set 字段1=值1,字段2=值2 where 條件
基礎(chǔ)查詢   select * from 表
五、DQL
指定字段查詢   select 字段 from 表名
指定字段組合不重復(fù)記錄   select distinct 字段 from 表
條件查詢   select 字段 from where 條件查詢
where后可接的條件
> < >= <= !=/<> or and between and in/not in  like(模糊查詢) 
結(jié)果集排序   select 字段 from 表 order by 字段 排序關(guān)鍵詞(asc升序 默認(rèn)升序瑞妇,desc降序)
多字段排序   select 字段 from 表 order by 字段1 desc|asc,字段n desc|asc
限制查詢的結(jié)果集   select 字段 from 表 limit 數(shù)量
限制排序后的結(jié)果集   select 字段 from 表 order by 字段 desc|asc limit 數(shù)量
結(jié)果集區(qū)間選擇   select 字段 from 表 limit 偏移量稿静,數(shù)量
用limit分頁   第1頁為 limit 0,10 第2頁為 limit 10,10第3頁為 limit 20,10
依此類推... ...
常用統(tǒng)計函數(shù)
sum   求和
count   統(tǒng)計整數(shù)
max    最大值
min    最小值
avg    平均值
統(tǒng)計函數(shù)使用   select 函數(shù)(字段) from 表
分組   select * from 表 group by 字段
分組統(tǒng)計   select * from 表 group by 字段  
結(jié)果集過濾   select * from 表 group by 字段 having 條件
整體使用SQL
順序   select from where group by  order by limit
 SELECT xxx FROM xxx WHERE xxx GROUP BY xxx HAVING xxx ORDER BY xxx LIMIT xxx;
 多表聯(lián)合查詢
 隱式內(nèi)連接
 select 表1.字段 [as 別名],表n.字段 from 表1[別名],表n where 條件
 select username,  name from user, goods where user.gid=goods.gid;
 顯式外連接
 select 表1.字段[as 別名],表n.字段 from 表1 inner join 表2 on條件
 select username,  name from user inner join goods on user.gid=goods.gid
外連接之左連接
select 表1.字段 [as 別名], 表n.字段 from 表1 left join 表n on 條件
外連接之右連接
select 表1.字段 [as 別名], 表n.字段 from 表1 right join 表n on 條件
子(嵌套)查詢
select 字段 from 表 where 字段 in(條件)
記錄聯(lián)合
select 語句1 union[all] select 語句2
修改更新
update 表名 set 字段1=值1, …, 字段n=值n where 條件
兩個表同時更新
update 表1,表2 set 字段1=值1, …, 字段n=值n where 條件
清空表記錄
truncate table 表名
創(chuàng)建用戶
Create user ‘用戶名’@‘用戶地址’ identified by ‘密碼’
刪除用戶
drop user ‘用戶名’@‘用戶地址’
授予權(quán)限
grant 權(quán)限 on *.* to ‘用戶名’@‘用戶地址’
剝奪權(quán)限
revoke 權(quán)限 on *.*  from ‘用戶名’@‘用戶地址’
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市辕狰,隨后出現(xiàn)的幾起案子改备,更是在濱河造成了極大的恐慌,老刑警劉巖蔓倍,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悬钳,死亡現(xiàn)場離奇詭異盐捷,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)默勾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門碉渡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人母剥,你說我怎么就攤上這事滞诺。” “怎么了环疼?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵习霹,是天一觀的道長。 經(jīng)常有香客問我炫隶,道長淋叶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任等限,我火速辦了婚禮爸吮,結(jié)果婚禮上芬膝,老公的妹妹穿的比我還像新娘望门。我一直安慰自己,他們只是感情好锰霜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布筹误。 她就那樣靜靜地躺著,像睡著了一般癣缅。 火紅的嫁衣襯著肌膚如雪厨剪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天友存,我揣著相機(jī)與錄音祷膳,去河邊找鬼。 笑死屡立,一個胖子當(dāng)著我的面吹牛直晨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播膨俐,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼勇皇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了焚刺?” 一聲冷哼從身側(cè)響起敛摘,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎乳愉,沒想到半個月后兄淫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屯远,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年捕虽,在試婚紗的時候發(fā)現(xiàn)自己被綠了氓润。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡薯鳍,死狀恐怖咖气,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挖滤,我是刑警寧澤崩溪,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站斩松,受9級特大地震影響伶唯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜惧盹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一乳幸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧钧椰,春花似錦粹断、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至诊沪,卻和暖如春养筒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背端姚。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工晕粪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人渐裸。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓巫湘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親橄仆。 傳聞我的和親對象是個殘疾皇子剩膘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評論 2 345

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