mysql總結(jié)

1.創(chuàng)建數(shù)據(jù)庫開始

CREATE DATABASE 數(shù)據(jù)庫名稱 (這樣會使用mysql默認(rèn)的字符集)

2.創(chuàng)建指定字符集的數(shù)據(jù)庫

CREATE DATABASE 數(shù)據(jù)庫名稱 CHARSET=utf8/gbk/gb2312

3.修改數(shù)據(jù)庫

ALTER DATABASE 數(shù)據(jù)庫名稱 CHARSET=字符集

表的創(chuàng)建

數(shù)據(jù)庫的三大引擎Innodb畜吊、MYSIAM秉沼、MEMARY

數(shù)據(jù)庫字段:

三大類:

? ? 字符串:char假夺、varchar、longtext济蝉、mediumtext

? ? 日期:date、year、time漱逸、datetime、timestamp ...

? ? 數(shù)值:int游沿、smallint饰抒、tinyint、mediumint

約束:

not null:設(shè)置制定的列不能為null !=>空字符

default : 給指定的列設(shè)置一個默認(rèn)值,如果插入數(shù)據(jù)的時候不給

當(dāng)前列設(shè)置值诀黍,就會使用默認(rèn)值袋坑,如果設(shè)置了值,就會使用設(shè)置的值眯勾。

primary key:主鍵枣宫,不能為空、唯一

unique:唯一吃环,可以為null

foreign key:外鍵也颤,外鍵是摸一個表的主鍵,不為null,

加強表與表之間的數(shù)據(jù)lianxi(關(guān)系)

屬性:

auto_increment 自增:

可以指定步長和起始值

會話級步長:

set session auto_increment_increment = 步長

全局的步長設(shè)置:

set global auto_increment_increment = 步長

給一個表指定一個起始的自增的值

ALTER TABLE 表名 auto_increment = 起始值

一個表里面只能有一個自增郁轻,并且都是給主鍵設(shè)置的翅娶。

創(chuàng)建表:

CREATE TABLE 表名(

? ? 字段名 類型 約束 屬性 (自增)文留,

? ? 字段名 類型 not null,

? ? 字段名 類型 nti null default 默認(rèn)值,

? ? primary key(列名)/primary key(列名,列名)

? ? unique key(列名)/unique key(列名竭沫、列名)

? ? constraint FK_ID foreign key(列名) references 主表(primary key)

)engine=數(shù)據(jù)引擎 default CHARSET=utf8;

修改表

ALTER TABLE 表名 charset= ...

重命名

RENAME TABLE 舊表名 TO 新表名

修改表名

ALTER TABLE 舊表名 RENAME AS 新表名

修改表中的字段

ALTER TABLE 表名 change 字段名 新字段名 類型 約束 屬性燥翅;

不改變舊字段名的情況下修改(類型、約束等)

ALTER TABLE 表名 change modify 字段名 類型 約束 屬性

添加新的列

ALTER TABLE 表名 ADD 字段名 類型 約束 屬性

刪除某一列

ALTER TABLE 表名 drop 字段名

刪除表

DROP table 表名

刪除數(shù)據(jù)庫

DROP DATABASE 數(shù)據(jù)庫名

查看當(dāng)前選擇的數(shù)據(jù)庫

select DATABASE()

切換數(shù)據(jù)庫

use 數(shù)據(jù)庫名

增:

全列插入

insert into tablename values()

非完全插入

insert into tablename() values()

多行插入

insert into tablename() values(),()

刪:

刪除指定數(shù)據(jù)

DELETE FROM tablename where 條件

刪除全部數(shù)據(jù)

DELETE FROM tablename

改:

修改表中某一列的全部值(不要這么去做)

UPDATE tablename set 列明=值

根據(jù)條件修改數(shù)據(jù)

UPDATE tablename set 列名=值 where 條件

UPDATE tablename set 列名=值 列名=值...where 條件

查:

select * from tablename

select 列蜕提,列森书,列... from tablename

select * from tablename where 列=值

select * from tablename where 列>值

select * from tablename where 列<值

is null:

select * from tablename where 列 is null

or:

select * from tablename where 列=值 or 列!=值

in:

select * from tablename where 列 in (值,值贯溅,值...)

and

select * from tablename where 列=值 amd 列=值

not:

select * from tablename where 列 not in(值拄氯。值,值...)

select * from tablename where 列 not is null

between and

select * from tablename where 列 between 值 and 值

排序

select * from tablename order by 列

select * from tablename order by 列 desc

多個列排序

select * from tablename order by 列 desc,列

聚合函數(shù)

count(*):計算所有行

avg():計算列的平均值

sum():求和它浅,計算列的值的和

max():計算列的最大值

min():計算列的最小值

通配符

%:匹配任意字符,任意次數(shù)

_:匹配任意字符译柏,必須有且僅有一次

一般跟LiKE匹配使用

select 列,列 from tablename where 列 like '條件%'

select 列姐霍,列 from tablename where 列 like '條件_'

python re模塊:

complie

match:從開頭匹配鄙麦,如果開頭就不符合直接返回None,如果匹配到

立即返回結(jié)果镊折,單次匹配胯府,取值使用group()

search:從頭開始匹配,在整個字符串中查詢恨胚,只要又符合規(guī)則的就立即返回

單詞匹配骂因,如果沒有符合規(guī)則的就返回None

findall:在整個串中赃泡,返回所有符合規(guī)則的結(jié)果寒波,是一個列表

sub:替換

split:分割字符串,返回列表

finditer:跟findall功能一致,返回結(jié)果有區(qū)別升熊,返回的是一個可選的值

r:原始字符串

\:轉(zhuǎn)義符

表的設(shè)計:

范式:

1nf:

列不可再分

2nf:

一個表必須要有一個主鍵(可以由單個列或多個列構(gòu)成)俄烁,非主鍵的列必須完全依賴于主鍵,而不是部分依賴于主鍵

3nf:

非主鍵的列级野,必須直接依賴主鍵页屠,不能出現(xiàn)傳遞關(guān)系(非主鍵的列A,依賴與非主鍵的列B蓖柔,非主鍵的列B依賴于主鍵)

E-R模型:

E: 實體辰企,一個實體其實就是指一張表

R: 關(guān)系,表與表之間一個數(shù)據(jù)的聯(lián)系

一對一:

一對多:

多對多:

查詢語句的順序:

SELECT况鸣、列蟆豫,列、FROM懒闷、表名、WHERE、條件愤估、GROUP BY帮辟、列,列、HAVING玩焰、條件由驹、ORDER BY、列 (ASC|DESC)昔园、LIMIT start,count

修改表名:alter table t_book rename to bbb;

添加列:alter table 表名 add column 列名 varchar(30);

刪除列:alter table 表名 drop column 列名;

修改列名MySQL: alter table bbb change nnnnn hh int;

修改列名: SQLServer:exec sp_rename't_student.name','nn','column';

修改列名: Oracle:lter table bbb rename column nnnnn to hh int;

修改列屬性: alter table t_book modify name varchar(22);

修改表: ALTER TABLE 表名 charset= ...

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蔓榄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子默刚,更是在濱河造成了極大的恐慌甥郑,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荤西,死亡現(xiàn)場離奇詭異澜搅,居然都是意外死亡,警方通過查閱死者的電腦和手機邪锌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門勉躺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人觅丰,你說我怎么就攤上這事饵溅。” “怎么了妇萄?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵蜕企,是天一觀的道長。 經(jīng)常有香客問我嚣伐,道長糖赔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任轩端,我火速辦了婚禮放典,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘基茵。我一直安慰自己奋构,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布拱层。 她就那樣靜靜地躺著弥臼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪根灯。 梳的紋絲不亂的頭發(fā)上径缅,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天掺栅,我揣著相機與錄音,去河邊找鬼纳猪。 笑死氧卧,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的氏堤。 我是一名探鬼主播沙绝,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鼠锈!你這毒婦竟也來了闪檬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤购笆,失蹤者是張志新(化名)和其女友劉穎粗悯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體由桌,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡为黎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了行您。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铭乾。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖娃循,靈堂內(nèi)的尸體忽然破棺而出炕檩,到底是詐尸還是另有隱情,我是刑警寧澤捌斧,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布笛质,位于F島的核電站,受9級特大地震影響捞蚂,放射性物質(zhì)發(fā)生泄漏妇押。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一姓迅、第九天 我趴在偏房一處隱蔽的房頂上張望敲霍。 院中可真熱鬧,春花似錦丁存、人聲如沸肩杈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扩然。三九已至,卻和暖如春聋伦,著一層夾襖步出監(jiān)牢的瞬間夫偶,已是汗流浹背界睁。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留索守,地道東北人晕窑。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像卵佛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子敞斋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

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