MySql常用命令集Mysql常用命令showdatabases;顯示數據庫createdatab


MySql 常用命令集

  Mysql常用命令

  show databases; 顯示數據庫

  create database name; 創建數據庫

  use databasename; 選擇數據庫

  drop database name 直接刪除數據庫,不提醒

  show tables; 顯示表

  describe tablename; 顯示具體的表結構

  select 中加上distinct去除重復字段

  mysqladmin drop databasename 刪除數據庫前,有提示。

  顯示當前mysql版本和當前日期

  select version(),current_date;

  修改mysql中root的密碼:

  shell>mysql -h localhost -u root -p //登錄

  mysql> update user set password=password("xueok654123") where user='root';

  mysql> flush privileges //刷新數據庫

  mysql>use dbname; 打開數據庫:

  mysql>show databases; 顯示所有數據庫

  mysql>show tables; 顯示數據庫mysql中所有的表:先use mysql;然后

  mysql>describe user; 顯示表mysql數據庫中user表的列信息);

  grant

  創建用戶firstdb(密碼firstdb)和數據庫,並賦予權限於firstdb數據庫

  mysql> create database firstdb;

  mysql> grant all on firstdb.* to firstdb identified by 'firstdb'

  會自動創建用戶firstdb

  mysql默認的是本地主機是localhost,對應的IP地址就是127.0.0.1,所以你用你的IP地址登錄會出錯,如果你想用你的IP地址登錄就要先進行授權用grant命令。

  mysql>grant all on *.* to root@202.116.39.2 identified by "123456";

  說明:grant 與on 之間是各種權限,例如:insert,select,update等

  on 之后是數據庫名和表名,第一個*表示所有的數據庫,第二個*表示所有的表

  root可以改成你的用戶名,@后可以跟域名或IP地址,identified by 后面的是登錄用的密碼,可以省略,即缺省密碼或者叫空密碼。

  drop database firstdb;

  創建一個可以從任何地方連接服務器的一個完全的超級用戶,但是必須使用一個口令something做這個

  mysql> grant all privileges on *.* to user@localhost identified by 'something' with

  增加新用戶

  格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by "密碼"

  GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

  GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

  刪除授權:

  mysql> revoke all privileges on *.* from root@"%";

  mysql> delete from user where user="root" and host="%";

  mysql> flush privileges;

  創建一個用戶custom在特定客戶端it363.com登錄,可訪問特定數據庫fangchandb

  mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ' passwd'

  重命名表:

  mysql > alter table t1 rename t2;

  mysqldump

  備份數據庫

  shell> mysqldump -h host -u root -p dbname >dbname_backup.sql

  恢復數據庫

  shell> mysqladmin -h myhost -u root -p create dbname

  shell> mysqldump -h host -u root -p dbname < dbname_backup.sql

  如果只想卸出建表指令,則命令如下:

  shell> mysqladmin -u root -p -d databasename > a.sql

  如果只想卸出插入數據的sql命令,而不需要建表命令,則命令如下:

  shell> mysqladmin -u root -p -t databasename > a.sql

  那么如果我只想要數據,而不想要什么sql命令時,應該如何操作呢

  mysqldump -T./ phptest driver

  其中,只有指定了-T參數才可以卸出純文本文件,表示卸出數據的目錄,./表示當前目錄,即與mysqldump同一目錄。如果不指定driver表,則將卸出整個數據庫的數據。每個表會生成兩個文件,一個為.sql文件,包含建表執行。另一個為.txt文件,只包含數據,且沒有sql指令。

  可將查詢存儲在一個文件中並告訴mysql從文件中讀取查詢而不是等待鍵盤輸入。可利用外殼程序鍵入重定向實用程序來完成這項工作。例如,如果在文件my_file.sql 中存放有查

  詢,可如下執行這些查詢:

  例如,如果您想將建表語句提前寫在sql.txt中,

  mysql > mysql -h myhost -u root -p

  Mysql5.0支持的字符集

  MySQL中的字符集控制做得比較細,可以分為數據庫級,表級, 字段級(這一點和ORACLE不同)。我上次改的字符集是數據庫級的,對表sysuser沒有影響,所以出現了改了字符集卻一樣無法插入中文的情況。

  Drop TABLE IF EXISTS `firstdb`.`users`;

  Create TABLE `firstdb`.`users` (

  `id` int(11) NOT NULL auto_increment,

  `username` varchar(40) default NULL,

  `birthday` date default NULL,

  PRIMARY KEY (`id`)

  ) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

  編譯 MySQL 時,指定了一個默認的字符集,這個字符集是 latin1;

  安裝 MySQL 時,可以在配置文件 (my.ini) 中指定一個默認的的字符集,如果沒指定,這個值繼承自編譯時指定的;

  啟動 mysqld 時,可以在命令行參數中指定一個默認的的字符集,如果沒指定,這個值繼承自配置文件中的;

  此時 character_set_server 被設定為這個默認的字符集;

  當創建一個新的數據庫時,除非明確指定,這個數據庫的字符集被缺省設定為    character_set_server;

  當選定了一個數據庫時,character_set_database 被設定為這個數據庫默認的字符集;

  在這個數據庫里創建一張表時,表默認的字符集被設定為 character_set_database,也就是這個數據庫默認的字符集;

  當在表內設置一欄時,除非明確指定,否則此欄缺省的字符集就是表默認的字符集;

  這個字符集就是數據庫中實際存儲數據采用的字符集,mysqldump 出來的內容就是這個字符集下的;Query Browser1.1 對中文輸入的支持太差勁了,可以用notebook寫好后,再copy過去執行

  update firstdb.users set username='以' where id=3;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM