最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql 常用命令用法總結(jié)腳本之家整理版

 更新時間:2010年02月13日 15:29:59   作者:  
在日常工作中,會簡單的使用一下mysql,故對常見命令操作總結(jié)一下,常用方式如下
一、啟動與退出
1、進入MySQL:啟動MySQL Command Line Client(MySQL的DOS界面),直接輸入安裝時的密碼即可。此時的提示符是:mysql>
2、退出MySQL:quit或exit
二、庫操作
1、、創(chuàng)建數(shù)據(jù)庫
命令:create database <數(shù)據(jù)庫名>
例如:建立一個名為xhkdb的數(shù)據(jù)庫
mysql> create database xhkdb;
2、顯示所有的數(shù)據(jù)庫
命令:show databases (注意:最后有個s)
mysql> show databases;
3、刪除數(shù)據(jù)庫
命令:drop database <數(shù)據(jù)庫名>
例如:刪除名為 xhkdb的數(shù)據(jù)庫
mysql> drop database xhkdb;
4、連接數(shù)據(jù)庫
命令: use <數(shù)據(jù)庫名>
例如:如果xhkdb數(shù)據(jù)庫存在,嘗試存取它:
mysql> use xhkdb;
屏幕提示:Database changed
5、當前選擇(連接)的數(shù)據(jù)庫
mysql> select database();
6、當前數(shù)據(jù)庫包含的表信息:
mysql> show tables; (注意:最后有個s)

三、表操作,操作之前應連接某個數(shù)據(jù)庫
1、建表
命令:create table <表名> ( <字段名1> <類型1> [,..<字段名n> <類型n>]);

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));
2、獲取表結(jié)構(gòu)
命令: desc 表名,或者show columns from 表名

mysql> desc MyClass;
mysql> show columns from MyClass;
3、刪除表
命令:drop table <表名>
例如:刪除表名為 MyClass 的表
mysql> drop table MyClass;
4、插入數(shù)據(jù)
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為1的名為Tom的成績?yōu)?6.45, 編號為2 的名為Joan 的成績?yōu)?2.99, 編號為3 的名為Wang 的成績?yōu)?6.5.
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
5、查詢表中的數(shù)據(jù)
1)、查詢所有行
命令: select <字段1,字段2,...> from < 表名 > where < 表達式 >
例如:查看表 MyClass 中所有數(shù)據(jù)
mysql> select * from MyClass;
2)、查詢前幾行數(shù)據(jù)
例如:查看表 MyClass 中前2行數(shù)據(jù)
mysql> select * from MyClass order by id limit 0,2;
6、刪除表中數(shù)據(jù)
命令:delete from 表名 where 表達式
例如:刪除表 MyClass中編號為1 的記錄
mysql> delete from MyClass where id=1;
7、修改表中數(shù)據(jù):update 表名 set 字段=新值,… where 條件
mysql> update MyClass set name='Mary' where id=1;
7、在表中增加字段:
命令:alter table 表名 add字段 類型 其他;
例如:在表MyClass中添加了一個字段passtest,類型為int(4),默認值為0
mysql> alter table MyClass add passtest int(4) default '0'
8、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql> rename table MyClass to YouClass;


更新字段內(nèi)容
update 表名 set 字段名 = 新內(nèi)容
update 表名 set 字段名 = replace(字段名,'舊內(nèi)容','新內(nèi)容');

文章前面加入4個空格
update article set content=concat('  ',content);

字段類型
1.INT[(M)] 型: 正常大小整數(shù)類型
2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(雙精密)浮點數(shù)字類型
3.DATE 日期類型:支持的范圍是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列
4.CHAR(M) 型:定長字符串類型,當存儲時,總是是用空格填滿右邊到指定的長度
5.BLOB TEXT類型,最大長度為65535(2^16-1)個字符。
6.VARCHAR型:變長字符串類型
mysqldump 命令的使用

備份和導出數(shù)據(jù)庫
mysqldump -h database_ip -u Username -p --opt databasename > backup-file.sql
只導出數(shù)據(jù)庫表結(jié)構(gòu)
mysqldump -h database_ip -d -u Username -p databasename >database_structure.sql
只導出數(shù)據(jù)庫中的某個表
mysqldump --opt --add-drop-table -u Username -p databasename tablename > dump.sql
如果不想手工輸入密碼 請使用--password 參數(shù)
mysqldump -h database_ip -u Username --password=123456 --opt databasename > backup-file.sql
mysqldump -h database_ip -d -u Username --password=123456 databasename >database_structure.sql


mysql 命令使用
將查詢結(jié)果保存到文件
select title from book into outfile '/tmp/outfile.txt';
查找表中多余的重復記錄,重復記錄是根據(jù)某個字段(peopleId)來判斷
select * from people where peopleId in (select peopleId from people group by
peopleId having count(peopleId) > 1);
查詢表中不重復記錄(排除重復記錄)
select * from phome_ecms_wma where title in (select distinct title from phome_ecms_wma);
刪除表中重復記錄,重復記錄是根據(jù)某個字段(title)來判斷
select *,count(distinct title) INTO OUTFILE '/tmp/table.bak' from phome_ecms_wma group by title;
delete from phome_ecms_wma;
LOAD DATA INFILE '/tmp/table.bak' REPLACE INTO TABLE phome_ecms_wma character set utf8;
查詢數(shù)據(jù)庫當前編碼
mysql> show variables like "character_set%";
修改表字段類型
mysql> alter table table_name change last_action last_action datetime NOT NULL default '0000-00-00 00:00:00';
給表添加一個新字段
mysql> ALTER TABLE host ADD ks_mac VARCHAR(100);
從表中刪除一個字段
mysql> ALTER TABLE table_name DROP field_name;
重命名表
mysql>alter table t1 rename t2;
給字段加索引
mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table tablename add index emp_name (name);
加主關(guān)鍵字的索引
mysql> alter table tablename add primary key(id);
加唯一限制條件的索引
mysql> alter table tablename add unique emp_name2(cardnumber);
刪除某個索引
mysql>alter table tablename drop index emp_name;
遠程訪問mysql 設置
mysql> GRANT ALL PRIVILEGES ON database_test.* to root@192.168.1.9 IDENTIFIED BY '123456';
mysql> FLUSH PRIVILEGES;

1、使用SHOW語句找出在服務器上當前存在什么數(shù)據(jù)庫
mysql> show databases;
2、創(chuàng)建一個數(shù)據(jù)庫MYSQLDATA
mysql> create database mydata;
3、選擇你所創(chuàng)建的數(shù)據(jù)庫
mysql> use mydata;
4、查看現(xiàn)在的數(shù)據(jù)庫中存在什么表
mysql> show tables;
5、創(chuàng)建一個數(shù)據(jù)庫表
mysql> create table mytable (name varchar(20), sex char(1));
6、顯示表的結(jié)構(gòu):
mysql> describe mytable;
7、往表中加入記錄
mysql> insert into mytable values ("test","m");
8、用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫表中(例如 d:\mysql.txt)
mysql> load data local infile "d:/mysql.txt" into table mytable;
9、導入.sql文件命令(例如 d:\mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10、刪除表
mysql>drop table mytable;
11、清空表
mysql>delete from mytable;
12、更新表中數(shù)據(jù)
mysql>update mytable set sex="f" where name=test;
剛安裝好的MySQL包含一個含空密碼的root帳戶和一個匿名帳戶,這是很大的安全隱患,對于一些重要的應用我們應將安全性盡可能提高,在這里應把匿名帳戶刪除、root帳戶設置密碼,可用如下命令進行:
=======================================
mysql> use mysql;
mysql> delete from User where User="";
mysql> update User set Password=PASSWORD(newpassword) where User=root;
=======================================
如果要對用戶所用的登錄終端進行限制,可以更新User表中相應用戶的Host字段,在進行了以上更改后應重新啟動數(shù)據(jù)庫服務,此時登錄時可用如下類似命令:
=======================================
shell> mysql -uroot -p;
shell> mysql -uroot -pnewpassword;
shell> mysql mydb -uroot -p;
shell> mysql mydb -uroot -pnewpassword;
=======================================
上面命令參數(shù)是常用參數(shù)的一部分,詳細情況可參考文檔。此處的mydb是要登錄的數(shù)據(jù)庫的名稱。
在進行開發(fā)和實際應用中,用戶不應該只用root用戶進行連接數(shù)據(jù)庫,雖然使用root用戶進行測試時很方便,但會給系統(tǒng)帶來重大安全隱患,也不利于管理技術(shù)的提高。我們給一個應用中使用的用戶賦予最恰當?shù)臄?shù)據(jù)庫權(quán)限。如一個只進行數(shù)據(jù)插入的用戶不應賦予其刪除數(shù)據(jù)的權(quán)限。MySQL的用戶管理是通過User表來實現(xiàn)的,添加新用戶常用的方法有兩個,一是在User表插入相應的數(shù)據(jù)行,同時設置相應的權(quán)限;二是通過grant命令創(chuàng)建具有某種權(quán)限的用戶。其中g(shù)rant的常用用法如下:
================================================================
mysql> grant all on mydb.* to NewUserName@HostName identified by "password" ;
mysql> grant usage on *.* to NewUserName@HostName identified by "password";
mysql> grant select,insert,update on mydb.* to NewUserName@HostName identified by "password";
mysql> grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password";
================================================================
若要給此用戶賦予他在相應對象上的權(quán)限的管理能力,可在grant后面添加with grant option選項。而對于用插入User表添加的用戶,Password字段應用password函數(shù)進行更新加密,以防不軌之人竊看密碼。對于那些已經(jīng)不用的用戶應給予清除,權(quán)限過界的用戶應及時回收權(quán)限,回收權(quán)限可以通過更新User表相應字段,也可以使用revoke操作。以下是常用權(quán)限的解釋:
=============================================
全局管理權(quán)限
FILE:在MySQL服務器上讀寫文件。
PROCESS:顯示或殺死屬于其它用戶的服務線程。
RELOAD:重載訪問控制表,刷新日志等。
SHUTDOWN:關(guān)閉MySQL服務。
數(shù)據(jù)庫/數(shù)據(jù)表/數(shù)據(jù)列權(quán)限
ALTER:修改已存在的數(shù)據(jù)表(例如增加/刪除列)和索引。
CREATE:建立新的數(shù)據(jù)庫或數(shù)據(jù)表。
DELETE:刪除表的記錄。
DROP:刪除數(shù)據(jù)表或數(shù)據(jù)庫。
INDEX:建立或刪除索引。
INSERT:增加表的記錄。
SELECT:顯示/搜索表的記錄。
UPDATE:修改表中已存在的記錄。
特別的權(quán)限
ALL:允許做任何事(和root一樣)。
USAGE:只允許登錄--其它什么也不允許做。
=============================================
MySQL常用操作基本操作,以下都是MySQL5.0下測試通過首先說明下,記住在每個命令結(jié)束時加上;(分號)
1.導出整個數(shù)據(jù)庫
mysqldump -u 用戶名 -p --default-character-set=latin1 數(shù)據(jù)庫名 > 導出的文件名(數(shù)據(jù)庫默認編碼是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導出一個數(shù)據(jù)庫結(jié)構(gòu)
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有數(shù)據(jù) –add-drop-table 在每個create語句之前增加一個drop table
4.導入數(shù)據(jù)庫
常用source 命令
進入mysql數(shù)據(jù)庫控制臺,
如mysql -u root -p
mysql>use 數(shù)據(jù)庫
然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)
mysql>source d:wcnc_db.sql

相關(guān)文章

  • MYSQL配置參數(shù)優(yōu)化詳解

    MYSQL配置參數(shù)優(yōu)化詳解

    MySQL是優(yōu)化難度最大的一個部分,不但需要理解一些MySQL專業(yè)知識,同時還需要長時間的觀察統(tǒng)計并且根據(jù)經(jīng)驗 進行判斷,然后設置合理的參數(shù)。下面我們了解一下MySQL優(yōu)化的一些基礎
    2018-07-07
  • SQL語句實現(xiàn)多表查詢

    SQL語句實現(xiàn)多表查詢

    這篇文章主要介紹了SQL語句實現(xiàn)多表查詢,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參一下下面文章詳細內(nèi)容
    2022-07-07
  • mysql 8.0.15 winx64安裝配置方法圖文教程

    mysql 8.0.15 winx64安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.15 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • mysql索引覆蓋實例分析

    mysql索引覆蓋實例分析

    這篇文章主要介紹了mysql索引覆蓋,簡單說明了索引覆蓋的概念,并結(jié)合實例形式分析了mysql索引覆蓋的相關(guān)應用與操作注意事項,需要的朋友可以參考下
    2019-07-07
  • JDBC 連接MySQL實例詳解

    JDBC 連接MySQL實例詳解

    這篇文章主要介紹了JDBC 連接MySQL實例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • MySQL最大連接數(shù)max_connections設置的兩種方法

    MySQL最大連接數(shù)max_connections設置的兩種方法

    MySQL的最大連接數(shù)可以通過兩種方法進行設置,通過命令行臨時修改和通過配置文件永久修改這兩種方法,本文將通過代碼示例給大家詳細的講解一下這兩種方法,需要的朋友可以參考下
    2024-05-05
  • MySQL數(shù)據(jù)庫是如何實現(xiàn)XA規(guī)范的

    MySQL數(shù)據(jù)庫是如何實現(xiàn)XA規(guī)范的

    這篇文章主要介紹了MySQL數(shù)據(jù)庫是如何實現(xiàn)XA規(guī)范的,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-01-01
  • 解析mysql修改為utf8后仍然有亂碼的問題

    解析mysql修改為utf8后仍然有亂碼的問題

    本篇文章是對mysql修改為utf8后仍然有亂碼的問題進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 詳解數(shù)據(jù)庫多表連接查詢的實現(xiàn)方法

    詳解數(shù)據(jù)庫多表連接查詢的實現(xiàn)方法

    這篇文章主要介紹了詳解數(shù)據(jù)庫多表連接查詢的實現(xiàn)方法的相關(guān)資料,希望通過本文大家能夠掌握數(shù)據(jù)庫多表查詢的方法,需要的朋友可以參考下
    2017-09-09
  • MySQL學習之數(shù)據(jù)庫備份詳解

    MySQL學習之數(shù)據(jù)庫備份詳解

    本篇文章主要介紹了MySQL中的 數(shù)據(jù)庫備份詳解,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進步,早日升職加薪
    2021-09-09

最新評論

长沙市| 陵水| 梁平县| 阜新市| 临汾市| 青浦区| 高清| 中西区| 东乡县| 和平县| 垫江县| 曲阜市| 连平县| 呼和浩特市| 英德市| 平乡县| 沾益县| 镇原县| 湟源县| 大丰市| 曲麻莱县| 芦山县| 黔西县| 徐汇区| 宁陵县| 根河市| 龙井市| 云南省| 白沙| 中西区| 乡城县| 湟中县| 中方县| 永州市| 永仁县| 汉阴县| 尚志市| 个旧市| 崇阳县| 大厂| 双城市|