mysql常用命令整理總結
#修改字段類型
alter table `table_name` modify column ip varchar(50);
#增加字段
alter table `table_name` add ip varchar(50);
#增加PRIMARY KEY(主鍵索引)
ALTER TABLE `table_name` ADD PRIMARY KEY ( `ip` );
#添加UNIQUE(唯一索引)
ALTER TABLE `table_name` ADD UNIQUE ( `ip` );
#添加INDEX(普通索引)
ALTER TABLE `table_name` ADD INDEX ip ( `ip` );
#添加聯合索引
ALTER TABLE `table_name` ADD INDEX userip ( `ip`, `name` );
#添加FULLTEXT(全文索引)
ALTER TABLE `table_name` ADD FULLTEXT ( `column`);
#刪除索引
alter table `table_name` drop index ip ;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.3.150' IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
#新增一個用戶名test,密碼123的用戶鏈接host為localhost,也可以寫成ip,或者192.168.0.%(192.168.0.任意),或者 %(不限制host)
insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("localhost","test",password("123"),'','','');
#新增完成後刷新權限表
flush privileges;
#授權相關
#授權所有數據庫的權限給用戶名為test密碼為123的用戶
grant all privileges on *.* to test@localhost identified by '123';
#授權所有數據庫的權限給用戶名為test密碼為123的用戶,且test具有給其他用戶授權的權限
grant all privileges on *.* to test@localhost identified by '123' WITH GRANT OPTION;
#授權testdb數據庫的select權限給用戶名為test密碼為123的用戶
grant select on testdb.* to test@localhost identified by '123';
#授權完成後刷新權限表
flush privileges;
#字段類型
數值型的列類型包括整型和浮點型兩大類。
TINYINT:1字節 非常小的正整數,帶符號:-128~127,不帶符號:0~255
SMALLINT:2字節 小整數,帶符號:-32768~32767,不帶符號:0~65535
MEDIUMINT:3字節 中等大小的整數,帶符號:-8388608~8388607,不帶符號:0~16777215
INT:4字節 標准整數,帶符號:-2147483648~2147483647,不帶符號:0~4294967295
BIGINT:8字節 大整數,帶符號:-9223372036854775808~9233372036854775807,不帶符號:0~18446744073709551615
FLOAT:4字節 單精度浮點數,最小非零值:+-1.175494351E-38,最大非零值:+-3.402823466E+38
DOUBLE:8字節 雙精度浮點數,最小非零值:+-2.2250738585072014E-308,最大非零值:+-1.7976931348623157E+308
DECIMAL(M, D):M+2字節 以字符串形式表示的浮點數,它的取值范圍可變,由M和D的值決定。
字符型
一個字符一個字節,一個漢字=2個字符,2個字節
CHAR[(M)] M字節 固定長度
VARCHAR[(M)] M字節 可變長度,存儲大小為輸入數據的字節的實際長度
TINYBLOD,TINYTEXT 2^8-1字節 L+1字節
BLOB,TEXT 2^16-1字節 L+2
MEDIUMBLOB,MEDIUMTEXT 2^24-1字節 L+3
LONGBLOB,LONGTEXT 2^32-1字節 L+4
ENUM('value1','value2',...) 65535個成員 1或2字節
SET('value1','value2',...) 64個成員 1,2,3,4或8字節