查看一下所有的庫 , 怎么辦 ?
Mysql>Show?databases;
?
選庫語句 : ?Use? 庫名
創建一個數據庫 :? create?database? 數據庫名? [charset? 字符集 ]
刪除一個數據庫 : ?drop?database? 數據庫名 ;
把數據庫改改名 ?
Mysql 中 , 表 / 列可以改名 , database 不能改名 .
phpMyAdmin 似乎有這功能 ?? 他是建新庫 , 把所有表復制到新庫 , 再刪舊庫完成的 .
當選了庫之后, 我們面對的是表
查看庫下面的所有表 :?show??tables;
?
先給大家提供一個 簡單的建表語句
create?table?stu?(
snum?int,
sname?varchar(10)
)engine?myisam?charset?utf8;
刪除表 :? drop?table?stu;
修改表名 :

清空表數據 :? truncate? 表名

Truncate 和 delete 是有區別的 ,
在于? truncate 相當于刪表再重建一張同樣結構的表 , 操作后得到一張全新表 .
而 delete 是從刪除所有的層面來操作的 .
Trucate 相當于把舊的學籍表扔了重畫一張 ,
Delete 相當于用橡皮把學籍表的數據庫擦掉 .
如果決定全清空的下 ,truncate 速度更快一些 .
查看表結構
答 :?desc?tableName;?// 查看表結構
12:? 解決字符集問題 :
默認建表一般用 utf8,? 而我們在 windows 下窗口是 GBK 的 ,
因此 , 需要聲明字符集 .
Set?names?gbk;
發現的 1 小問題?
語句打錯以后應該退出本語句 , 再繼續打新語句 . 也可以打 \c, 退出本語句 .
如何破解數據庫的密碼 :
1: 通過任務管理器或者服務管理 , 關掉 mysqld( 服務進程 )
2: 通過命令行 + 特殊參數開啟 mysqld
Mysqld?--skip-grant-tables
3: 此時 ,mysqld 服務進程已經打開 , 并且 , 不需要權限檢查 .
4:mysql?-uroot?? 無密碼登陸服務器 .
5:? 修改權限表
??A:?use?mysql;
??B:update?user?set?Password?=?password('11111')?where?User?=?'root';
??C:flush?privileges;
6:
通過任務管理器
,
或服務管理
,
關掉
mysqld
服務進程
.
7: 再次通過服務管理 , 打開 mysql 服務 .
建表語法
所謂建表就是一個聲明列的過程 .
create?table? 表名 ?(
列名 1? 列類型 1?? 列 1 參數 ,
列名 2? 列類型 2? 列 2 參數 ,
....
...
列名 n? 列類型 n? 列 n 參數
)engine?myisam/innodb/bdb?charset?utf8/gbk/latin1...
?
?
修改表的語法
一張表 , 創建完畢 , 有了 N 列 .
之后還有可能要增加或刪除或修改列?
?
Alter?table? 表名? add? 列名稱?列類型?列參數 ;? ?[ 加的列在表的最后 ]
例 :? alter?table?m1?add?birth?date?not?null?default?'0000-00-00';
Alter?table? 表名? add? 列名稱?列類型?列參數? after? 某列? [ 把新列加在某列后 ]
例 :? alter?table?m1?add?gender?char(1)?not?null?default?''?after?username;
?
Alter?table? 表名? add? 列名稱?列類型?列參數? first? [ 把新列加在最前面 ]
例 : ?alter?table?m1?add?pid?int?not?null?default?0?first;
?
?
刪除列 :
Alter?table? 表名?? drop? 列名
?
?
修改列類型 :
Alter?table? 表名 ?modify? 列名 ? 新類型??新參數
例 : alter?table?m1?modify?gender?char(4)?not?null?default?'';
?
修改列名及列類型
Alter?table? 表名? change? 舊列名?新列名?新類型?新參數
例 :alter?table?m1?change?id?uid?int?unsigned;
?
?? 如果列類型改變了 , 導致數據存不下怎么辦 ?
比如 ,int? 改成 smallint 列 .??? 如果不匹配 , 數據將會丟失 , 或者在 mysql 的 strict_mode 下 , 修改不了 .
為什么建表時
,
加
not?null?default?''?/?default?0
答 : 不想讓表中出現 null 值 .
?
為什么不想要的 null 的值
答 :
不好比較 ,null 是一種類型 , 比較時 , 只能用專門的 is?null? 和? is?not?null 來比較 .
碰到運算符 , 一律返回 null
效率不高 , 影響提高索引效果 .
?
因此 , 我們往往 , 在建表時? not?null?default?''/0
常用數據庫管理語句:
create table goods ( goods_id mediumint(8) unsigned primary key auto_increment, goods_name varchar(120) not null default '', cat_id smallint(5) unsigned not null default '0', brand_id smallint(5) unsigned not null default '0', goods_sn char(15) not null default '', goods_number smallint(5) unsigned not null default '0', shop_price decimal(10,2) unsigned not null default '0.00', market_price decimal(10,2) unsigned not null default '0.00', click_count int(10) unsigned not null default '0' ) engine=myisam default charset=utf8;
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
