windows下cmd中命令操做

windows下cmd中命令:
 
cls清空
上下箭頭進行命令歷史命令切換
----------------------------------------------------------------------------------------------------------------
使用命令行啓動MySQL服務
 
(1)    啓動MySQL服務----  net start mysql
(2)    關閉MySQL服務----  net stop mysql
全部的windows系統的服務均可用net start 和net stop;
----------------------------------------------------------------------------------------------------------------
MySQL登錄:
mysql -v;(版本信息);
mysql -u[username] -p[password] -P[port][default:3306] -h[ip][default:127.0.0.1](默認端口和本機登陸無須寫-P和-h)
 
參數目錄:
-v  ----- 版本
-u  ----- 用戶名
-p  ----- 密碼
-P  ----- 端口號
-h  ----- 服務器
 
MySQL退出:
exit;
quit;
\q
----------------------------------------------------------------------------------------------------------------
修改MySQL提示符:
 
鏈接客戶端時經過參數指定
shell>mysql -uroot -proot -prompt \h>
鏈接上客戶端後,經過ormpt
mysql>prompt \h>
 
回車後變成:
localhost>
 
參數目錄:
\D-----  完整的日期
\d------ 當前數據庫
\h------ 服務器名稱
\u------ 當前用戶
 
例子:mysql>PROMPT \u@\h \d>
輸出結果:root@localhost(none)>
(輸出結果:root(當前用戶)@localhost(主機名稱) (none)(麼有打開數據庫)>)
----------------------------------------------------------------------------------------------------------------
mysql 經常使用命令:
 
select version()   顯示當前服務器版本
select now()       顯示當前日期時間
select user()       顯示當前用戶
 
mysql語句的規範:
 
1) 關鍵字與函數名稱所有大寫
2 )  數據庫名稱、表名稱、字段名稱所有小寫
3 )  語句必須以分號;結尾
----------------------------------------------------------------------------------------------------------------
查看當前服務器下的數據庫列表
show databases
 
{}必選項|或者 []可選項
建立數據庫
CREATE {DATABASE | SCHEMA}[IF NOT EXISTS] db_name
[DEFAULT]   SET [=] charset_name
修改數據庫:
ALTER {DATABASE | SCHEMA}[db_name]
[DEFAULT] CHARACTER SET [=] charset_name
刪除數據庫
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
展現告警
show warnings
查看建立數據庫語句命令:
SHOW CREATE DATABASE jj;
----------------------------------------------------------------------------------------------------------------
數據類型是指列,存儲過程參數,表達式和局部變量的數據特徵,它決定了數據的存儲格式,表明了不一樣的信息類型;
 
整形:
TINYINT       :有符號-128~127:                                                                 無符號0-255;                                   佔1字節;
SMALLINT   :有符號-32768~32767:                                                         無符號0~65535;                              佔2字節;
MEDIUMINT:有符號-8388608~8388607:                                                 無符號0~16777215;                        佔3字節;
INT              :有符號-2147483648~2147483647:                                     無符號0-4294967259;                     佔4字節;
BIGINT         :有符號-9223372036854775808~9223372036854775807:無符號0~18446744073709551615;佔8字節。
 
浮點型
FLOAT[(M,D)]
M是數字總位數,D是銷售古典後面的位數。若是MD被省略 ,根據硬件容許的限制來保存值,
單精度數精確到大約7位小數位。
 
DOUBLE[(M,D)]
小數值範圍大約是單精度的10倍,
 
日期時間型                  所佔字節大小
YEAR                                  1
TIME                                  3    
DATA                                 3
DATATIME                         8
TIMSTAMP(時間戳)        4
 
字符型:
一、CHAR(M)                   M個字節,0<=M<=255,定長類型;什麼是定長類型?咱們寫了一個CHAR(5)  只寫了一個ABC,他在計算機中存儲的時候,除了把ABC存進來,還將補充兩個空格。
二、VARCHAR(M)            是變長類型,假設存ABC,那麼存的就是ABC,0~65535.
三、TINYTEXT,                 2的8次方;
四、TEXT,                        2的16次方字節。
五、MEDIUMTEXT,       2的24次方。
六、LONGTEXY,           2的32次方。
七、ENUM,                 1或2個字節,取決於枚舉值的個數(最多65535個值)。
八、SET,1,2,3,4,或者8個字節,取決於set成員的數目(最多64個成員)。
----------------------------------------------------------------------------------------------------------------
建立數據表
步驟1打開數據庫:use t1;( 要打開的數據庫)
 
步驟2:CREATE TABLE mytable(數據表的名字)(
      column_name data_type,
      //列名       類型 ,
       ....
);
UNSIGNED 無符號(沒有負值);
列:
CREATE TABLE tb3 (
id SMALLINT UNSIGNED AUTO_INCREMENT,
username VARCHAR(30) NOT NULL ,
PRIMARY KEY(id)
);
----------------------------------------------------------------------------------------------------------------
 
查看當前數據庫:SELECT DATABASE();
查看當前庫中的數據表:SHOW TABLES;
查看任意庫中的數據表:SHOW TABLES FROM db_name;
查看數據表結構:SHOW COLUMNS FROM table_name;
查看系統支持的存儲引擎:Show engines;
查看錶使用的存儲引擎:show table status from db_name where name='table_name';
插入記錄:INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...)
查看建立表語句:SHOW CREATE TABLE table_name;
記錄查找:SELECT * FROM tbl_name;
查詢索引: SHOW INDEXES FROM provinces\G;
 
null 容許爲空值;
not null 不容許未空值;
AUTO_INCREMENT 自增屬性,必須和主鍵組合使用
 
PRIMARY KEY  主鍵約束:
                每張數據表只能存在一個主鍵
                主鍵保證記錄的惟一性
                主鍵自動爲not null;
UNIOUE KEY  惟一約束:
                能夠保證記錄惟一性
                字段能夠爲空
                每張表能夠存在多個惟一約束
DEFAULT  默認值
                在插入記錄是若是沒有明確爲字段賦值,則自動賦予默認值;
FOREIGN KEYp:
                保持數據一致性,完整性。
                實現一對一或一對多關係
 
外鍵約束的要求:
1,父表和子表必須使用相同的存儲引擎,並且禁止使用臨時表。(父表:子表所參照的表子表:具備外鍵列的表)
 
2,數據表的存儲引擎只能爲InnoDB。
 
3.外鍵列和參照列必須具備類似的數據類型。其中數字的長度或是否有符號位必須相同;而字符的長度則能夠不一樣。( 外鍵列:曾經加過FOREIGN KEYp的列,參照列:外鍵列所參照的列稱爲參照列)
 
4,外鍵列和參展列必須建立索引。若是外鍵列不存在索引的話,mysql將自動建立索引 。( 若是參照列不存在索引的話,mysql不會自動建立索引。但若是參照列爲主鍵的話,則會自動建立索引。主鍵在建立的同時會自動建立索引,因此參照列其實已經有了索引。而外鍵列上沒有建立索引,mysql則會自動建立索引。)
 
編輯數據表的默認存儲引擎
mysql配置文件
        default-storage-engine=INNODB;
        
建立外鍵:FOREIGN KEY (pid) REFERENCES provinces (id);
參照操做
在建立表的時候;
在foreign key (pid) references provinces(id) on delete cascade,(這樣書寫)
 
一、添加單列:若是指定FIRST,則在整個表的最前方,默認不寫爲整個表的最後方;若是指定AFTER col_name,則在col_name的後面。
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST  AFTER col_name]
二、添加多列:沒法指定FIRST/AFTER、只能默認爲最後方。
ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition,...)
三、刪除單列
ALTER TABLE tbl_name DROP [COLUMN] col_name
四、刪除多列(Ps:刪除一列的同時,新增一列。其間用逗號隔開)
ALTER TABLE tbl_name DROP [COLUMN] col_name, DROP [COLUMN] col_name,DROP [COLUMN] col_name
 
 
 
1.添加主鍵約束
CONSTRAINT_PK主鍵名字爲PK
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)
e.g:ALTER TABLE users ADD CONSTRAINT PK_users_id PRIMARY KEY (id);
2.添加惟一約束
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)
e.g:ALTER TABLE users ADD UNIQUE (username);
3.添加外鍵約束
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name](index_col_name,...) reference_definition
e.g:ALTER TABLE users ADD FOREIGN KEY (pid) REFERENCES provinces (id)
4.添加/刪除默認約束 DEFAULT
ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
e.g:
ALTER TABLE users ADD age TINYINT UNSIGNED NULL;
ALTER TABLE users ALTER age SET DEFAULT 15;
ALTER TABLE users ALTER age DROP DEFAULT;
 
一約束的 index_name 可經過 SHOW INDEX FROM table_name\G; 查詢
刪除主鍵約束:
ALTER TABLE table_name DROP PRIMARY KEY;
刪除惟一約束:
ALTER TABLE table_name DROP INDEX index_name;
刪除外鍵約束:
ALTER TABLE table_name DROP FOREIGN KEY (fk_symbol)經過查詢系統默認給的名字;
外鍵約束的名字 fk_symbol 可經過 SHOW CREATE TABLE table_name; 查詢
刪除外鍵約束,查找CREATE TABLENAME 找到系統爲外鍵約束添加的名字
 
1.修改列定義
ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST |AFTER col_name];
ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; //將id字段的位置提到第一列
SHOW COLUMNS FROM users2;
ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL; //修改數據類型,需注意數據丟失的問題
2.修改列名稱
ALTER TABLE tbl_name CHANGE [COLUMN] col_name new_col_name column_definition [FIRST|AFTER col_name];
ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED; //修改列名稱
3.數據表改名
方法1
ALTER TABLE tbl_name RENAME [TO/AS] new_tbl_name
ALTER TABLE users2 RENAME (to/as) users3;
SHOW TABLES;
方法2
RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ...
RENAME TABLE users5 TO users2;
儘可能少使用數據表的列名及表名的改名。
2.約束
按功能劃分:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY
按數據列的數目劃分:表級約束, 列級約束
3.修改數據表
針對字段的操做:添加/刪除字段、修改列定義、修改列名稱等。
針對約束的操做:添加/刪除各類約束
針對數據表的操做:數據表改名(兩種方式)
相關文章
相關標籤/搜索