mySQL數(shù)據(jù)庫(kù)操作語(yǔ)句

1.顯示所有數(shù)據(jù)庫(kù)

show databases;//展示所有數(shù)據(jù)庫(kù)

2,創(chuàng)建數(shù)據(jù)管理系統(tǒng)
create database 數(shù)據(jù)庫(kù)名字;

3朗恳,刪除數(shù)據(jù)庫(kù)
drop database 數(shù)據(jù)庫(kù)名字鳍烁;

4,使用數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名字敬扛;-->database changed;

5,創(chuàng)建數(shù)據(jù)表
creat table 表名(字段名 字段類型(約束),字段名2 字段類型(約束),)晰洒;
字段類型有:int(Integer) 整數(shù)型;
float/double 單精度/雙精度浮點(diǎn)型
date 日期類型
datetime 日期時(shí)間類型
char 定長(zhǎng)字符串
varchar 可變長(zhǎng)度字符串
text 大文本對(duì)象啥箭,可用于存儲(chǔ)超長(zhǎng)字符串
bold 二進(jìn)制大對(duì)象谍珊,可用于存儲(chǔ)圖片等二進(jìn)制數(shù)據(jù)

6,查看創(chuàng)建的數(shù)據(jù)表
show tables;//僅僅是表名的展示急侥;

7砌滞,查看表的結(jié)構(gòu)
desc 表名//desc student;

8,修改數(shù)據(jù)表名稱
alter table 表名 rename 新表名;//alter table student rename stu;

9,刪除數(shù)據(jù)表
drop table 表名坏怪;//delete table stu;

10,添加表字段
alter table 表名 add column 字段名 字段類型;//alter table student add column phone varchar(20);
添加帶默認(rèn)值的字段名
alter table student add column sex varchar() default'男';

11贝润,修改表字段類型
alter table 表名 modify 字段名 修改的類型;//alter table student modify sex varchar(10);

12,刪除表字段
alter table 表名 drop 字段名//alter table student drop phone;

13,約束 NOT NULL:非空約束;
UNIQUE:唯一約束;
PRIMARY KEY:主鍵铝宵,唯一標(biāo)識(shí)該記錄打掘,非空且唯一;
FOREIGN KEY:外鍵华畏,指定該記錄從屬的主表記錄;
添加非空約束和主鍵;
主鍵添加:alter table student add column id int primary key;

14,創(chuàng)建表數(shù)據(jù)時(shí)設(shè)置主鍵自增 尊蚁,以及名字非空亡笑;
create table student(
id int primary key auto_increment,
name varchar(20) not null,
age int,
birthday date,
xuefen float(3,1),//3代表一共有三位,1代表小數(shù)點(diǎn)后的位數(shù).);

15,索引:索引的作用類似于書(shū)的目錄横朋,一個(gè)表可以有多個(gè)索引仑乌,每個(gè)索引都可用于加速該列的查詢速度
創(chuàng)建索引 creat index 索引名稱 on 表名(字段名);
create index nameindex on student(name);//創(chuàng)建指向student name
刪除索引 drop index 索引名稱 on 表名;
create index nameindex on student;
劣勢(shì):當(dāng)數(shù)據(jù)進(jìn)行修改時(shí)叶撒,索引也需要進(jìn)行更新绝骚,較為麻煩,同時(shí)索引信息需要一定的磁盤(pán)空間祠够。

16,中文亂碼需要鍵入 set names gbk;//解決名字亂碼問(wèn)題压汪;

17,插入數(shù)據(jù) insert into 表名(字段名1,字段名2) values(數(shù)據(jù)1古瓤,數(shù)2);
不帶自定義id的插入學(xué)生信息:
insert into student(name,age,birthday,xuefen) values('科比',39,'1978-8-30',1.8);
展示輸入的學(xué)生所有信息:
select * from student;
展示表名中的部分學(xué)生信息:
select age,xuefen from student;
自帶id的插入學(xué)生信息:
select into student(id,name,age,birthday,xuefen) values(5,'杜蘭特',29,'1988-9-29',1.9);
若此時(shí)再進(jìn)行不帶自定義id的形式插入學(xué)生信息止剖,則會(huì)從自帶id的后面進(jìn)行自增長(zhǎng)
insert into student(name,age,brithdaty,xuefen) values('艾弗森',42,'1975-6-7',3.0);
若輸入的順序和展示出來(lái)表的字段的順序相同,可省略字段部分落君;
insert into student values(2,'湯普森','27','1990-2-8','3.5');

18,修改數(shù)據(jù) update 表名 set 字段1=值1穿香,字段2=值2,where條件绎速,
沒(méi)有添加where條件的會(huì)修改全部記錄皮获,
uodate student set sex=男;
添加where 一般指定id;
update student set xuefen=3.0 where id=4;

19,刪除數(shù)據(jù) delete from 表名 where 條件纹冤;//以行為單位進(jìn)行整行刪除
delete from student where id=7;

20,查詢數(shù)據(jù){單表查詢洒宝,聯(lián)合查詢};
單表查詢:?jiǎn)螚l件查詢萌京,去重查詢雁歌,查詢條件中的運(yùn)算符,函數(shù)查詢知残,分組查詢靠瞎,分頁(yè)查詢,結(jié)果排序

20.1 單條件查詢:select * from 表名求妹;(全部元素都會(huì)顯示出來(lái));
select * from student;
展示特殊字段 select 字段1乏盐,字段2 from 表名
select name,age from student;
查詢特殊條件的 select * from 表名 where 條件;
select * from student where age>30;
查詢多個(gè)特殊條件的制恍;條件1 and 條件2丑勤;//與
條件2 or 條件2;//或

20.2 去重查詢:可以使用distinct關(guān)鍵字從查詢結(jié)果中消除重復(fù)數(shù)據(jù)吧趣;
select distinct 字段1法竞,字段2 from 表名;
select distinct name,xuefen from student;name和學(xué)分都重復(fù)才會(huì)去除耙厚;

20.3 查詢條件中的運(yùn)算符;比較運(yùn)算符=岔霸,!=,<> ,>,>=,<,<=;
邏輯運(yùn)算符 and:與 or 或 not:非 優(yōu)先級(jí) not>and>or
優(yōu)先級(jí)的檢測(cè)薛躬;
select * from student where 1<>1 and 1=1 or 1=1 or 1=1;
select * from student where 1=1 or 1=1 or 1=1 and 1<>1;
使用between and
between 16 and 20 ;//可以取到16 和20,這兩個(gè)邊界值呆细。
使用in運(yùn)算符
select * from student where age in(10,30,40,29);
跟表中的年齡進(jìn)行比對(duì)型宝,看有沒(méi)有能夠匹配相等的,有絮爷,則顯示
使用like運(yùn)算符
模糊運(yùn)算符趴酣,像
select * from student where name like '%張';
'%'代表無(wú)限個(gè)字符 '%張'是指以張結(jié)尾的名字
'%張%'中間有張字的名字 '張%'是指以張開(kāi)頭的名字
'_張'以'張'字結(jié)尾的三個(gè)字的名字,''代表一個(gè)字符坑夯;
使用is null運(yùn)算符

20.4 函數(shù)查詢
max:求最大值,min:求最小值,avg:求平均值,sum:求和,count:求數(shù)量
case 函數(shù)岖寞,類似于switch;
select max(age) from student;//選擇最大年齡柜蜈;
最大年齡對(duì)應(yīng)的名字
select age,max(age) from student;
//展示max(age)對(duì)應(yīng)的所有信息仗谆;
//select max(age) from student-->返回的是一個(gè)最大年齡的表單
select * from student where age=(select max(age) from student);
count的應(yīng)用:
select count(1) from student;
case:的應(yīng)用
select * ,case
where age>30 then '老年人'
where age<30 then '中年人’
end
from student;
實(shí)例1:查詢所有大于平均年齡的學(xué)生記錄
//平均年齡 select avg(age) from student;
//select * from student when age>(select avg(age) from student);

20.5 分組查詢
group by 分組字段;
//案例:平均年齡按照男女性別分組
select avg(age) from student gronp by sex;
//顯示男女性別淑履,同時(shí)平均年齡按照男女性別分組
select age,avg(age) from student group by sex;
having 分組條件
//案例隶垮,顯示男女性別,同時(shí)平均年齡按照男女性別分組但是大于平均年齡的要小于3個(gè)
select sex avg(age) from student group by sex having count<3;
where 和having 的區(qū)別
where用于過(guò)濾行秘噪,having 用于過(guò)濾組狸吞,where 子句中不能使用組函數(shù),
having子句中可以使用組函數(shù)

20.6 分頁(yè)查詢 limit x,y;x代表下標(biāo)指煎,y代表個(gè)數(shù)
select * from student limit 0,2;起始下標(biāo)為0的位置顯示兩天信息蹋偏;

20.7 排序查詢 order by 字段//默認(rèn)是升序
select * from student order by age (asc);//默認(rèn)按年齡升序排列
select * from studnet order by age desc;//按年齡降序排列;
案例1:先按年齡升序排序贯要,再取出年齡最大的兩個(gè)
select * from student by age asc limit 0,2;
案例2:先按年齡升序排序暖侨,如果年齡相同再按學(xué)分降序排序
select * from student by age ase椭住,xuefen desc;

分組的順序優(yōu)先級(jí):

select * from student group by () having where order by limit;

21 關(guān)聯(lián)查詢
21.1 連接查詢
交叉連接崇渗,使用on子句的連接,左連接京郑,右連接宅广;

  21.1.1 交叉連接
  select * from student cross join class;
  添加別名進(jìn)行交叉連接選擇
  //用于挑選一個(gè)學(xué)生選擇一門(mén)課程時(shí)的展示數(shù)據(jù)
  select * from student s cross join class c where s.kid=c.id; 
  //挑選所有選了某個(gè)課程的學(xué)生
  select s.* from studnet s cross join class c where s.kid=c.id and c.classname="crossover";

  21.1.2 on連接
     select * from student s join class c on;

  21.1.3 左連接
    select * from student s left join class c on s.kid=c.id;

21.1.4 右連接
select * from student s right join class c on s.kid=c.id;

21.2 子查詢
1.出現(xiàn)在from語(yǔ)句后當(dāng)成數(shù)據(jù)表,
2.出現(xiàn)在where條件后作為過(guò)濾條件的值,
//案例查詢所有選擇某門(mén)課程中學(xué)生年齡最大的些举;
//所有選擇某門(mén)課程的學(xué)生
select * from student s join class c on s.kid=c.kid and classname="";
//篩選年齡最大的
先進(jìn)行排序再進(jìn)行分頁(yè)
select * from( select * from student s join class c on s.kid=c.kid and classname="") t
order by t.age desc limit 0,1;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末跟狱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子户魏,更是在濱河造成了極大的恐慌驶臊,老刑警劉巖挪挤,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異关翎,居然都是意外死亡扛门,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)纵寝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)论寨,“玉大人,你說(shuō)我怎么就攤上這事爽茴≡岬剩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵室奏,是天一觀的道長(zhǎng)火焰。 經(jīng)常有香客問(wèn)我,道長(zhǎng)窍奋,這世上最難降的妖魔是什么荐健? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮琳袄,結(jié)果婚禮上江场,老公的妹妹穿的比我還像新娘。我一直安慰自己窖逗,他們只是感情好址否,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著碎紊,像睡著了一般佑附。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仗考,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天音同,我揣著相機(jī)與錄音,去河邊找鬼秃嗜。 笑死权均,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锅锨。 我是一名探鬼主播叽赊,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼必搞!你這毒婦竟也來(lái)了必指?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤恕洲,失蹤者是張志新(化名)和其女友劉穎塔橡,沒(méi)想到半個(gè)月后梅割,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡葛家,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年炮捧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惦银。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡咆课,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出扯俱,到底是詐尸還是另有隱情书蚪,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布迅栅,位于F島的核電站殊校,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏读存。R本人自食惡果不足惜为流,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望让簿。 院中可真熱鬧敬察,春花似錦、人聲如沸尔当。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)椭迎。三九已至锐帜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間畜号,已是汗流浹背缴阎。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留简软,地道東北人蛮拔。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像替饿,于是被迫代替她去往敵國(guó)和親语泽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子贸典,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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