首先打開(kāi)數(shù)據(jù)庫(kù)(Linux):service mysql start(關(guān)閉數(shù)據(jù)庫(kù)? service mysql stop)
window下:net start mysql(關(guān)閉數(shù)據(jù)庫(kù) net stop mysql)(卸載 sc delete mysql)
然后輸入密碼:mysql -uroot -p密碼
進(jìn)入mysql后開(kāi)始操作(本文字段和表頭都是一個(gè)意思)
1.數(shù)據(jù)庫(kù)的相關(guān)操作
查看所有的數(shù)據(jù)庫(kù)?show databases;
創(chuàng)建數(shù)據(jù)庫(kù)??create database 數(shù)據(jù)庫(kù)名;
刪除數(shù)據(jù)庫(kù)?drop database 數(shù)據(jù)庫(kù)名翔悠;
mysql數(shù)據(jù)庫(kù)的名稱(chēng)在黑窗口下是無(wú)法直接修改的,如果必須要修改數(shù)據(jù)庫(kù)的名稱(chēng)配乱,可以先將數(shù)據(jù)庫(kù)的數(shù)據(jù)導(dǎo)出锹漱,然后再導(dǎo)入一個(gè)新命名的數(shù)據(jù)庫(kù)屈梁,數(shù)據(jù)庫(kù)的導(dǎo)入和導(dǎo)出不必再mysql中執(zhí)行,只需在命令行窗口執(zhí)行節(jié)課。
數(shù)據(jù)庫(kù)導(dǎo)出的語(yǔ)句是:mysqldump -uroot -p 數(shù)據(jù)庫(kù)名 >path(?導(dǎo)出文件的地址 文件要以.sql結(jié)尾)
數(shù)據(jù)庫(kù)導(dǎo)入的語(yǔ)句:mysql -uroot -p? 數(shù)據(jù)庫(kù)名
另外我們還可以在mysql中查看數(shù)據(jù)庫(kù):show database like “ ”
%代指字符陶贼,代指的字符長(zhǎng)度沒(méi)有限制翘悉,_代表一個(gè)字符茫打,_的用法和%相似,這里不做贅述。
查看數(shù)據(jù)庫(kù)的定義語(yǔ)言:show create database 數(shù)據(jù)庫(kù)名;
查看表的定義語(yǔ)言:show create table 表名;
有上可知mysql的默認(rèn)編碼為latin1,但大部分情況我們用的編碼是utf8(數(shù)據(jù)庫(kù)中utf-8記為utf8)老赤,此時(shí)我們需要修改表的編碼轮洋,修改表的編碼:alter table 表名 charset “utf8;
修改數(shù)據(jù)庫(kù)的編碼:alter database 數(shù)據(jù)庫(kù)名 charset "gbk";
2.表的基本操作
這里只講解單表的基本操作,包括表的創(chuàng)建抬旺,及表的增刪改查
表是要儲(chǔ)存在數(shù)據(jù)庫(kù)中的弊予,要想進(jìn)入一個(gè)數(shù)據(jù)庫(kù)之中,只需輸入:use 數(shù)據(jù)庫(kù)名;
當(dāng)我們進(jìn)入數(shù)據(jù)庫(kù)之后如何確定是否進(jìn)入了呢开财?此時(shí)只需輸入一個(gè)命令即可汉柒;
輸入:select database();
在創(chuàng)建數(shù)據(jù)表之前,我們要先查看數(shù)據(jù)庫(kù)包含的表以避免表明重復(fù)责鳍;
查看數(shù)據(jù)庫(kù)包含的表:show tables碾褂;
2.1創(chuàng)建表
創(chuàng)建表的時(shí)候?yàn)榱吮苊獗砻闹貜?fù)執(zhí)行的操作 drop table if exists 表名
創(chuàng)建table??
create table 表名 (字段1 類(lèi)型 [約束條件],
字段2 類(lèi)型 [約束條件]薇搁,
use字段3 類(lèi)型 [約束條件]斋扰,
......
字段n 類(lèi)型 [約束條件]);
常見(jiàn)的約束條件有五種啃洋,分別是?1.主鍵 传货、2.外鍵、3.空宏娄、非空 4.默認(rèn)问裕、5.互異?
主鍵,表的數(shù)據(jù)的唯一標(biāo)識(shí)符孵坚,用來(lái)區(qū)分?jǐn)?shù)據(jù)粮宛,為了方便表的查詢(xún),每一個(gè)表都應(yīng)該有主鍵卖宠,主鍵的約束條件用primary key表示巍杈。外鍵這里不做講述,在多表的查詢(xún)時(shí)我們?cè)僮鲈敿?xì)的描述扛伍】昶瑁空和非空是指一個(gè)表中數(shù)據(jù)是否允許空,由于mysql默認(rèn)是允許空的刺洒,所以只有不允許空時(shí)才做添加非空not null做約束條件鳖宾。默認(rèn),默認(rèn)去某值逆航,約束條件用default鼎文。互異因俐,及表的某個(gè)字段的數(shù)據(jù)不允許相同拇惋,約束條件用unique.
下面我們來(lái)創(chuàng)建一個(gè)表:
當(dāng)表創(chuàng)建完成之后周偎,我們可以通過(guò)desc/describe 表名;?或show columns from 表名;?來(lái)查看表的結(jié)構(gòu)
2.2表的增加
表的增加有兩種,第一種是向表中增加數(shù)據(jù)蚤假,第二種是對(duì)字段的操作栏饮,比如說(shuō)為字段添加一個(gè)約束條件,或者添加一個(gè)字段等等磷仰。
2.2.1 向表中添加數(shù)據(jù)
向表中插入數(shù)據(jù)有兩種方式,第一種方式:insert into 表名(字段1境蔼,字段2灶平,...,字段n) values(值1箍土,值2逢享,...值n);這種方式插入數(shù)據(jù)時(shí)字段和值一一對(duì)應(yīng)吴藻,有些字段允許為空時(shí)瞒爬,這些字段不添加任何數(shù)據(jù),insert語(yǔ)句中字段不必填入沟堡,另外這種添加方式字段的順序可以打亂侧但,只要保持字段和值一一對(duì)應(yīng)即可。
另一種方法:insert into 表名?values(值1航罗,值2禀横,...值n);
如果有 auto_increment修飾或者default約束條件粥血,在insert語(yǔ)句中可以用null或者default代替柏锄。
查看表:select * from 表名;
2.2.2 字段的添加
在添加之前我們應(yīng)該首先查查一下表的相關(guān)信息复亏,這是用show create table 表名;
向表中添加字段:alter table 表名 add 字段 數(shù)據(jù)類(lèi)型 字段約束趾娃;
我們向表中添加一個(gè)字段 address varchar(500);
查看表的表頭及其屬性desc 表名 (或者? describe 表名);
2.3表的修改
2.3.1 字段的屬性修改
alter修改表的屬性:alter table 表名 modify?表頭 數(shù)據(jù)類(lèi)型;
表的字段名的修改:alter table 表名 change 字段名 新的字段名 數(shù)據(jù)類(lèi)型 約束條件缔御;
2.3.2表的數(shù)據(jù)的修改
表的數(shù)據(jù)更改:update tablename set 字段1=新值1,字段2=新值2,...,字段n=新值n where condition;(不帶條件全部更新)
2.3.3 修改表的名字
修改表的名字有兩種方式
第一種:alter table oldTableName rename to newTableName;??
第二種:rename table oldTableName to newTableName;
2.3.4修改表的引擎和編碼
修改表的引擎:alter table 表名 engine "引擎名";
修改表的編碼:alter table 表名 charset "編碼名";
詞語(yǔ)局在文章開(kāi)頭修改數(shù)據(jù)庫(kù)的編碼時(shí)已經(jīng)操作過(guò)這里不做描述抬闷。
2.4 表的刪除
2.4.1 表中數(shù)據(jù)刪除
表中的數(shù)據(jù)刪除:delete from 表名 where 條件(不帶條件全部刪除);
若表中數(shù)據(jù)有主鍵且主鍵有auto_increment屬性,那么用delete刪除最大的索引x刹淌,繼續(xù)向表中增加數(shù)據(jù)饶氏,其索引是x+1;
truncate刪除主要是用來(lái)刪除表的 數(shù)據(jù)字典不記錄操作記錄
若表中的數(shù)據(jù)有主鍵且主鍵有auto_increment屬性,那么用truncate刪除最大的索引x有勾,繼續(xù)向表中增加數(shù)據(jù)疹启,其索引是x。
2.4.2 字段刪除
字段刪除:alter table 表名 drop 字段;
2.4.3 表的刪除
先創(chuàng)建一個(gè)text的表蔼卡。
表的刪除:drop table 表名;
刪除還有另外一種方法:truncate 表名;
本人不贊同用truncate語(yǔ)句去刪除表喊崖,因?yàn)閠runcate刪除的表找不回來(lái)挣磨。所以使用truncate命令式需要慎重考慮。
2.5表的查看
查看表的所有內(nèi)容:select * from 表名 荤懂;
查看表的部分內(nèi)容:select? 表頭1茁裙,表頭2,...表頭n from 表名 节仿;
查看滿足where 條件的內(nèi)容:select? 表頭1晤锥,表頭2,...表頭n from 表名? where condition廊宪;
表的查看操作在下個(gè)微博再向大家介紹矾瘾,這里到此為止。