Mysql數據庫基礎

MySQL是一個關系型數據庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā)哥放,目前屬于 Oracle 旗下公司缰贝。MySQL 最流行的關系型數據庫管理系統(tǒng)寝凌;
MySQL是一個小型關系型數據庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司顽悼,在2008年1月16號被Sun公司收購曼振。MySQL被廣泛地應用在 Internet,上的中小型網站中表蝙。由于其體積小拴测、速度快、總體擁有成本低府蛇,尤其是開放源碼這一特點集索,許多中小型網站為了降低網站總體擁有成本而選擇了 MySQL作為網站數據庫。與其他的大型數據庫例如Oracle汇跨、DB2务荆、SQL Server等相比,MySQL自有它的不足之處穷遂,如規(guī)模小函匕、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度蚪黑。對于一般的個人使用者和中小型企業(yè)來說盅惜,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件忌穿,因此可以大大降低總體擁有成本抒寂;


875796-20160817223356796-2033052989.png
timg.jpg

Mysql數據庫的數據類型

  • 整型
    bit:范圍為從1到64
    tinyint:帶符號的范圍是-128到127。無符號的范圍是0到255
    smallint:小的整數掠剑。帶符號的范圍是-32768到32767屈芜。無符號的范圍是0到65535
    mediumint:中等大小的整數。帶符號的范圍是-8388608到8388607朴译。無符號的范圍是0到16777215
    int或integer:普通大小的整數井佑。帶符號的范圍是-2147483648到2147483647。無符號的范圍是0到4294967295
    bigint:大整數帶符號的范圍是-9223372036854775808到9223372036854775807眠寿。無符號的范圍是0到18446744073709551615
  • 字符串
    char 固定長度字符串 對字符串 0-255 它的特點是犧牲空間躬翁,提高效率
    varchar 節(jié)約空間,降低效率
    舉例:
    char 4 varchar 4
    ab[][] ab
    text 最大字數數為:65535
    tinytext 最大字數數為:255
  • 浮點型
    float:浮點數
    有負號:允許的值是-3.402823466E+38到-1.175494351E-38
    無負號:0和1.175494351E-38到3.402823466E+38
  • 日期類型
    date 日期
    支持的范圍為'0000-01-01'到'9999-12-31' MySQL以'YYYY-MM-DD'格式顯示DATE值澜公,但允許使用字符串或數字為DATE列分配值
    datetime 日期和時間的組合
    支持的范圍是'0000-01-01 00:00:00'到'9999-12-31 23:59:59'

建立數據庫

創(chuàng)建數據庫:字符編碼統(tǒng)一選擇‘utf8_general_ci’姆另,防止中文亂碼喇肋;
字段根據實際情況選擇,字符編碼可默認(數據庫是utf8)迹辐;
字段名字規(guī)定名字由英文蝶防、數字或下劃線組成,且只能以英文開頭明吩,全部使用小寫间学。雖然可以用中文,但非常不建議印荔。
每個數據表應該都要有一個主鍵低葫;
主鍵:在數據表,該列字段是唯一標識(該值在數據表沒有重復)該行的字段仍律,稱為主鍵嘿悬,每個數據表,最多只能有1個主鍵水泉,一般一個自動增加的整型類型字段善涨;

Mysql常用操作命令

操作技巧:
① 如果你打命令時,回車后發(fā)現(xiàn)忘記加分號草则,你無須重打一遍命令钢拧,只要打個分號回車就可以了。也就是說你可以把一個完整的命令分成幾行來打炕横,完后用分號作結束標志就OK源内。
② 你可以使用光標上下鍵調出以前的命令。

1份殿、更改數據庫密碼

mysql>use mysql(選擇名為Mysql的數據庫)膜钓;
mysql>update user set password=password('你設置的密碼')  where user = 'root';
mysql>flush privileges; 刷新一下

2卿嘲、顯示數據庫列表

mysql>show databases;

剛開始時才兩個數據庫:mysql和test呻此。mysql庫很重要它里面有MYSQL的系統(tǒng)信息,我們改密碼和新增用戶腔寡,實際上就是用這個庫進行操作。
3掌唾、創(chuàng)建一個數據庫mydatabase

mysql> create database mydatabase;

4放前、選擇你所創(chuàng)建的數據庫

mysql> use mydatabase; (按回車鍵出現(xiàn)Database changed 時說明操作成功!)

5糯彬、查看當前數據庫中存在什么表

mysql> show tables;

6凭语、創(chuàng)建一個數據庫表
create table <表名> ( <字段名1> <類型1> [,..<字段名n> <類型n>]);

mysql> create table mytable
->(
-> id int(10) not null primary key auto_increment,
-> name char(20) not null,
-> sex int(1) not null,
-> age int(3) not null
->);

7、獲取表結構
命令: desc 表名撩扒,或者show columns from 表名

mysql> desc mytable; 
mysql> show columns from mytable;

8似扔、往數據表中加入記錄
命令:insert into <表名> ( <字段名1>[,..<字段名n > ]) values ( 值1 )[, ( 值n )]

mysql> insert into mytable(name,sex,age) values ("張三","1",'28');

9吨些、查詢表中所有的數據
① 查詢所有行
命令: select <字段1,字段2炒辉,...> from < 表名 > where < 表達式 >
例如:查看表 mytable中所有數據

mysql> select * from mytable;

② 查詢前幾行數據
例如:查看表 mytable中前2行數據

mysql> select * from mytable order by id limit 0,2;
或者:
mysql> select * from mytable limit 0,2;

10豪墅、刪除數據表中某條數據
命令:delete from 表名 where 表達式

mysql> delete from mytable where id=1;

注意:

刪除表中數據時一定要帶上where表達式,否則將是毀滅性的災難黔寇,導致表中數據全部刪除偶器;

11、修改數據表中某條數據
命令:update 表名 set 字段=新值,… where 條件

mysql> update mytable set name='Mary' where id=1;

注意:

修改表中數據時一定要帶上where表達式缝裤,否則將是毀滅性的災難屏轰,導致表中數據全部修改;

12憋飞、在表中增加字段
命令:alter table 表名 add字段 類型 其他;
例如:在表mytable中添加了一個字段email霎苗,類型為char(24),默認值為0;

mysql> alter table mytable add email char(24) default '0';

13榛做、更改數據表名
命令:rename table 原表名 to 新表名;
例如:將表mytable名字更改為user;

mysql> rename table mytable to newtable;

14唁盏、刪除數據表
命令:drop table <表名>

mysql> drop table newtable;

15、刪除數據庫

mysql> drop database mydatabase;

16瘤睹、退出MySQL:quit或exit

phpMyAdmin

打開本地phpMyAdmin升敲,如果發(fā)現(xiàn)報錯嘗試連接到 MySQL 服務器,但服務器拒絕連接轰传。您應該檢查配置文件中的主機驴党、用戶名和密碼,并確認這些信息與 MySQL 服務器管理員所給出的信息一致获茬。
解決方案:
打開安裝目錄wamp\apps\phpmyadmin4.1.14港庄,然后打開config.inc.php 文件,查找文件中的主機恕曲、用戶名和密碼是否正確鹏氧;

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '你的數據庫密碼';
$cfg['Servers'][$i]['host'] = '127.0.0.1';

Mysql用戶權限設置

關于mysql的用戶管理,筆記
1佩谣、創(chuàng)建新用戶
通過root用戶登錄之后創(chuàng)建

//創(chuàng)建新用戶把还,用戶名為testuser,密碼為123456 茸俭;
grant all privileges on *.* to testuser@localhost identified by "123456" ;
//設置用戶testuser吊履,可以在本地訪問mysql
grant all privileges on *.* to testuser@localhost identified by "123456" ;
//設置用戶testuser,可以在遠程訪問mysql
grant all privileges on *.* to testuser@"%" identified by "123456" ;
//mysql 新設置用戶或更改密碼后需用flush privileges刷新MySQL的系統(tǒng)權限相關表调鬓,否則會出現(xiàn)拒絕訪問艇炎,還有一種方法,就是重新啟動mysql服務器腾窝,來使新設置生效
flush privileges ;

2缀踪、設置用戶訪問數據庫權限

//設置用戶testuser居砖,只能訪問數據庫test_db,其他數據庫均不能訪問 驴娃;
grant all privileges on test_db.* to testuser@localhost identified by "123456" ;
//設置用戶testuser奏候,可以訪問mysql上的所有數據庫 ;
grant all privileges on *.* to testuser@localhost identified by "123456" ;
//設置用戶testuser托慨,只能訪問數據庫test_db的表user_infor鼻由,數據庫中的其他表均不能訪問 ;
grant all privileges on test_db.user_infor to testuser@localhost identified by "123456" ;

3厚棵、設置用戶操作權限

//設置用戶testuser蕉世,擁有所有的操作權限,也就是管理員 婆硬;
grant all privileges on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION;
//設置用戶testuser狠轻,只擁有【查詢】操作權限 ;
grant select on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION;
//設置用戶testuser彬犯,只擁有【查詢\插入】操作權限 向楼;
grant select,insert on *.* to testuser@localhost identified by "123456"  ;
//設置用戶testuser,擁有【查詢\插入\更新\刪除】操作權限 谐区;
grant select,insert,update,delete on *.* to testuser@localhost identified by "123456"  ;
//取消用戶testuser的【查詢\插入】操作權限 湖蜕;
REVOKE select,insert ON what FROM testuser;

4、設置用戶遠程訪問權限

//設置用戶testuser宋列,只能在客戶端IP為192.168.1.100上才能遠程訪問mysql 昭抒;
grant all privileges on *.* to testuser@“192.168.1.100” identified by "123456" ;

5、關于root用戶的訪問設置
設置所有用戶可以遠程訪問mysql炼杖,修改my.cnf配置文件灭返,將bind-address = 127.0.0.1前面加“#”注釋掉,這樣就可以允許其他機器遠程訪問本機mysql了坤邪;

//設置用戶root熙含,可以在遠程訪問mysql
grant all privileges on *.* to root@"%" identified by "123456" ;
select host,user from user;  //查詢mysql中所有用戶權限

關閉root用戶遠程訪問權限

//禁止root用戶在遠程機器上訪問mysql
delete from user where user="root" and host="%" ;
flush privileges ;  //修改權限之后,刷新MySQL的系統(tǒng)權限相關表方可生效 

任務

使用navicat客戶端軟件創(chuàng)建一個人員信息表艇纺;
使用mysql命令創(chuàng)建一個人員信息表怎静;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市黔衡,隨后出現(xiàn)的幾起案子消约,更是在濱河造成了極大的恐慌,老刑警劉巖员帮,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異导饲,居然都是意外死亡捞高,警方通過查閱死者的電腦和手機氯材,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來硝岗,“玉大人氢哮,你說我怎么就攤上這事⌒吞矗” “怎么了冗尤?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長胀溺。 經常有香客問我裂七,道長,這世上最難降的妖魔是什么仓坞? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任背零,我火速辦了婚禮,結果婚禮上无埃,老公的妹妹穿的比我還像新娘徙瓶。我一直安慰自己,他們只是感情好嫉称,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布侦镇。 她就那樣靜靜地躺著,像睡著了一般织阅。 火紅的嫁衣襯著肌膚如雪壳繁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天蒲稳,我揣著相機與錄音氮趋,去河邊找鬼。 笑死江耀,一個胖子當著我的面吹牛剩胁,可吹牛的內容都是我干的。 我是一名探鬼主播祥国,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼昵观,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了舌稀?” 一聲冷哼從身側響起啊犬,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎壁查,沒想到半個月后觉至,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡睡腿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年语御,在試婚紗的時候發(fā)現(xiàn)自己被綠了峻贮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出钻趋,到底是詐尸還是另有隱情问词,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏耿导。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一盛撑、第九天 我趴在偏房一處隱蔽的房頂上張望碎节。 院中可真熱鬧,春花似錦抵卫、人聲如沸狮荔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽殖氏。三九已至,卻和暖如春姻采,著一層夾襖步出監(jiān)牢的瞬間雅采,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工慨亲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留婚瓜,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓刑棵,卻偏偏與公主長得像巴刻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蛉签,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內容

  • 1.MySQL數據庫 2.SQL語句 第一節(jié)課 ###1(MySQL數據庫)數據庫概念.avi 5...
    碼了個農啵閱讀 1,194評論 1 16
  • 1.1-認識MySQL 什么是數據庫胡陪?計算機處理和存儲的一切信息都是數據。數據庫是計算機系統(tǒng)中一種用于存取數據的程...
    LuckyPandaLee閱讀 2,164評論 0 12
  • mysql 什么是數據(data):硬盤中存的東西...... 數據庫:數據庫是存儲在一起的相關數據的集合碍舍,這些數...
    I踏雪尋梅閱讀 258評論 0 1
  • 1.MySQL是一個關系型數據庫管理系統(tǒng)柠座,由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產品片橡。My...
    黃花菜已涼閱讀 4,564評論 3 60
  • 回到老家已經很多天妈经,這幾天過得很充實,像在學校里一樣。每天都有干不完的事狂塘,雖然我不干也行但我想我有義務去做录煤,作為一...
    壹工滿閱讀 81評論 0 0