程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql 經常使用敕令用法總結劇本之家整頓版

mysql 經常使用敕令用法總結劇本之家整頓版

編輯:MySQL綜合教程

mysql 經常使用敕令用法總結劇本之家整頓版。本站提示廣大學習愛好者:(mysql 經常使用敕令用法總結劇本之家整頓版)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql 經常使用敕令用法總結劇本之家整頓版正文


1、啟動與加入
1、進入MySQL:啟動MySQL Command Line Client(MySQL的DOS界面),直接輸出裝置時的暗碼便可。此時的提醒符是:mysql>
2、加入MySQL:quit或exit
2、庫操作
1、、創立數據庫
敕令:create database <數據庫名>
例如:樹立一個名為xhkdb的數據庫
mysql> create database xhkdb;
2、顯示一切的數據庫
敕令:show databases (留意:最初有個s)
mysql> show databases;
3、刪除數據庫
敕令:drop database <數據庫名>
例如:刪除名為 xhkdb的數據庫
mysql> drop database xhkdb;
4、銜接數據庫
敕令: use <數據庫名>
例如:假如xhkdb數據庫存在,測驗考試存取它:
mysql> use xhkdb;
屏幕提醒:Database changed
5、以後選擇(銜接)的數據庫
mysql> select database();
6、以後數據庫包括的表信息:
mysql> show tables; (留意:最初有個s)

3、表操作,操作之前應銜接某個數據庫
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、獲得表構造
敕令: desc 表名,或許show columns from 表名

mysql> desc MyClass;
mysql> show columns from MyClass;
3、刪除表
敕令:drop table <表名>
例如:刪除表名為 MyClass 的表
mysql> drop table MyClass;
4、拔出數據
敕令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如,往表 MyClass中拔出二筆記錄, 這二筆記錄表現:編號為1的名為Tom的成就為96.45, 編號為2 的名為Joan 的成就為82.99, 編號為3 的名為Wang 的成就為96.5.
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
5、查詢表中的數據
1)、查詢一切行
敕令: select <字段1,字段2,...> from < 表名 > where < 表達式 >
例如:檢查表 MyClass 中一切數據
mysql> select * from MyClass;
2)、查詢前幾行數據
例如:檢查表 MyClass 中前2行數據
mysql> select * from MyClass order by id limit 0,2;
6、刪除表中數據
敕令:delete from 表名 where 表達式
例如:刪除表 MyClass中編號為1 的記載
mysql> delete from MyClass where id=1;
7、修正表中數據: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;


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

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

字段類型
1.INT[(M)] 型: 正常年夜小整數類型
2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常年夜小(雙周詳)浮點數字類型
3.DATE 日期類型:支撐的規模是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格局來顯示DATE值,然則許可你應用字符串或數字把值賦給DATE列
4.CHAR(M) 型:定長字符串類型,當存儲時,老是是用空格填滿左邊到指定的長度
5.BLOB TEXT類型,最年夜長度為65535(2^16-1)個字符。
6.VARCHAR型:變長字符串類型
mysqldump 敕令的應用

備份和導出數據庫
mysqldump -h database_ip -u Username -p --opt databasename > backup-file.sql
只導出數據庫表構造
mysqldump -h database_ip -d -u Username -p databasename >database_structure.sql
只導出數據庫中的某個表
mysqldump --opt --add-drop-table -u Username -p databasename tablename > dump.sql
假如不想手工輸出暗碼 請應用--password 參數
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 敕令應用
將查詢成果保留到文件
select title from book into outfile '/tmp/outfile.txt';
查找表中過剩的反復記載,反復記載是依據某個字段(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);
刪除表中反復記載,反復記載是依據某個字段(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;
查詢數據庫以後編碼
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);
加主症結字的索引
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 [email protected] IDENTIFIED BY '123456';
mysql> FLUSH PRIVILEGES;

1、應用SHOW語句找出在辦事器受騙前存在甚麼數據庫
mysql> show databases;
2、創立一個數據庫MYSQLDATA
mysql> create database mydata;
3、選擇你所創立的數據庫
mysql> use mydata;
4、檢查如今的數據庫中存在甚麼表
mysql> show tables;
5、創立一個數據庫表
mysql> create table mytable (name varchar(20), sex char(1));
6、顯示表的構造:
mysql> describe mytable;
7、往表中參加記載
mysql> insert into mytable values ("test","m");
8、用文本方法將數據裝入數據庫表中(例如 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、更新表中數據
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字段,在停止了以上更改後應從新啟動數據庫辦事,此時登錄時可用以下相似敕令:
=======================================
shell> mysql -uroot -p;
shell> mysql -uroot -pnewpassword;
shell> mysql mydb -uroot -p;
shell> mysql mydb -uroot -pnewpassword;
=======================================
下面敕令參數是經常使用參數的一部門,具體情形可參考文檔。此處的mydb是要登錄的數據庫的稱號。
在停止開辟和現實運用中,用戶不該該只用root用戶停止銜接數據庫,固然應用root用戶停止測試時很便利,但會給體系帶來嚴重平安隱患,也晦氣於治理技巧的進步。我們給一個運用中應用的用戶付與最適當的數據庫權限。如一個只停止數據拔出的用戶不該付與其刪除數據的權限。MySQL的用戶治理是經由過程User表來完成的,添加新用戶經常使用的辦法有兩個,一是在User表拔出響應的數據行,同時設置響應的權限;二是經由過程grant敕令創立具有某種權限的用戶。個中grant的經常使用用法以下:
================================================================
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";
================================================================
若要給此用戶付與他在響應對象上的權限的治理才能,可在grant前面添加with grant option選項。而關於用拔出User表添加的用戶,Password字段運用password函數停止更新加密,以防不軌之人竊看暗碼。關於那些曾經不消的用戶應賜與消除,權限過界的用戶應實時收受接管權限,收受接管權限可以經由過程更新User表響應字段,也能夠應用revoke操作。以下是經常使用權限的說明:
=============================================
全局治理權限
FILE:在MySQL辦事器上讀寫文件。
PROCESS:顯示或殺逝世屬於其它用戶的辦事線程。
RELOAD:重載拜訪掌握表,刷新日記等。
SHUTDOWN:封閉MySQL辦事。
數據庫/數據表/數據列權限
ALTER:修正已存在的數據表(例如增長/刪除列)和索引。
CREATE:樹立新的數據庫或數據表。
DELETE:刪除表的記載。
DROP:刪除數據表或數據庫。
INDEX:樹立或刪除索引。
INSERT:增長表的記載。
SELECT:顯示/搜刮表的記載。
UPDATE:修正表中已存在的記載。
特殊的權限
ALL:許可做任何事(和root一樣)。
USAGE:只許可登錄--其它甚麼也不許可做。
=============================================
MySQL經常使用操作根本操作,以下都是MySQL5.0下測試經由過程起首解釋下,記住在每一個敕令停止時加上;(分號)
1.導出全部數據庫
mysqldump -u 用戶名 -p --default-character-set=latin1 數據庫名 > 導出的文件名(數據庫默許編碼是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導出一個數據庫構造
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒稀有據 –add-drop-table 在每一個create語句之前增長一個drop table
4.導入數據庫
經常使用source 敕令
進入mysql數據庫掌握台,
如mysql -u root -p
mysql>use 數據庫
然後應用source敕令,前面參數為劇本文件(如這裡用到的.sql)
mysql>source d:wcnc_db.sql
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved