ALTER TABLE `test` DEFAULT CHARACTER SET utf8;該命令用於將表test的編碼方式改成utf8;
ALTER TABLE `test` CHANGE `name` `name` VARCHAR(36) CHARACTER SET utf8 NOT NULL; 該命令用於將表test中name字段的編碼方式改成utf8
alter table `table_name` engine=innodb; alter table `table_name` engine=myisam;
flush privileges
建立test用戶 並只能操做follow_db數據庫: CREATE USER 'test'@'%' IDENTIFIED BY 'pwd123'; GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `follow\_db`.* TO 'test'@'%'; GRANT GRANT OPTION ON `follow\_db`.* TO 'test'@'%';
1. mysqladmin -u root -p password mypasswd
輸入這個命令後,須要輸入root的原密碼,而後root的密碼將改成mypasswd。 mysql
2.MySQL 忘記口令的解決辦法 sql
若是 MySQL 正在運行,首先殺之:數據庫
killall -TERM mysqld。
啓動 MySQL :服務器
/usr/bin/mysqld_safe --skip-grant-tables &
就能夠不須要密碼就進入 MySQL 了。 函數
而後就是 編碼
>use mysql >update user set password=password("new_pass") where user="root"; >flush privileges;
從新殺 MySQL ,用正常方法啓動 MySQL 。 加密
3.先中止mysql服務。rest
而後打開mysql配置文件/etc/my.cnf. 在【mysqld】下面添加一行代碼:skip-grant-tables。 這行代碼意思就是跳過跳過受權表,便是能夠跳過密碼驗證直接進入數據庫。 service mysqld restart //重啓mysql數據庫。假如不重啓的話,不會生效。 mysql -uroot -p //此時直接回車,既能夠進入數據庫。 出現mysql>就說明你已經進入到mysql數據庫裏了。 進數據庫後, use mysql //選擇mysql這個庫,由於mysql的root密碼存放在這個數據庫裏。 show tables //查看下mysql庫裏有哪些表,咱們須要操做的用戶名密碼都在user表裏。 desc user //查看下user表有哪些字段 更改root密碼。 update user set password=password('123456') where user="root"; //用戶選root,能夠隨便更改爲任意密碼,我這裏設置的123456,password()是mysql密碼加密的一個函數。 flush privileges; //刷新下密碼,使更改的生效。 exit //退出數據庫 從新登陸 mysql -uroot -p //回車輸入剛剛更改的密碼,就能進去了。 而後再次進入配置文件vi /etc/my.cnf 把skip-grant-tables去掉。
mysqldump -uroot -p test >/test.sql 回車輸入密碼便可
Mysql -uroot -p test < /test.sql 回車輸入密碼便可
進入 MySQL 控制檯(如:MySQL 5.5 Command Line Client),使用 source 命令執行 Mysql>source 【sql腳本文件的路徑全名】 或 Mysql>\. 【sql腳本文件的路徑全名】,示例: source C:\test.sql 或者 \. C:\test.sql
一、建立索引(PRIMARY KEY,INDEX,UNIQUE)code
mysql>ALTER TABLE 表名 ADD INDEX index_name (column list); mysql>ALTER TABLE 表名 ADD UNIQUE index_name (column list); mysql>ALTER TABLE 表名 ADD PRIMARY KEY index_name (column list);
二、刪除索引(PRIMARY KEY,INDEX,UNIQUE)索引
mysql>ALTER TABLE 表名 DROP INDEX index_name (column list); mysql>ALTER TABLE 表名 DROP UNIQUE index_name (column list); mysql>ALTER TABLE 表名 DROP PRIMARY KEY index_name (column list);
三、重建索引
mysql> REPAIR TABLE 表名 QUICK;
四、查看某個數據表的索引
mysql> SHOW INDEX FROM 表名;
查看錶結構
Desc 表名
直接受權(推薦) 從任何主機上使用root用戶,密碼:youpassword(你的root密碼)鏈接到mysql服務器: # mysql -u root -proot mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; 操做完後切記執行如下命令刷新權限 FLUSH PRIVILEGES
drop truncate delete 程度從強到弱 一、drop table tb drop將表格直接刪除,沒有辦法找回 二、truncate table tablename truncate 刪除表中的全部數據,不能與where一塊兒使用 三、delete from tb (where) delete 刪除表中的數據(可制定某一行) truncate和delete的區別 ① 事務:truncate是不能夠rollback的,可是delete是能夠rollback的; 緣由:truncate刪除整表數據(ddl語句,隱式提交),delete是一行一行的刪除,能夠rollback ② 效果:truncate刪除後將重置索引(自增加id從零開始) ,delete不會刪除索引 ③ truncate 不能觸發任何Delete觸發器。 ④ delete 刪除能夠返回行數