mysql 語句
Mysql有自己的語法的 看看教程吧1. 連接mysql:mysqlbinmysql -h主機地址 -u 用戶名 -p 用戶密碼2.退出mysql:exit3. 修改密碼:mysqlbinmysqladmin -uroot -p(oldpassword) password newpassword4.增加用戶:添加一個用戶test1 密碼為ABC;讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。
首先用以root用戶連入 mysql,然后鍵入以下命令:grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; 增加一個用戶test2密碼為abc,讓其只可以在localhost上登錄,并可以對數據庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地 主機,即mysql數據庫所在的那臺主機),這樣用戶即使用知道test2的密碼,也無法從internet上直接訪問數據庫,只能通過mysql主機上的web頁 來訪問了。grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; 增加一個可以從任何地方連接服務器的一個完全的超級用戶 grant all privileges on *.* to test3@"%" identified by 'password' with grant option;5.刪除授權 revoke select,insert,update,delete om *.* from test2@localhost ;--------------------------------------------------------6.顯示數據庫 show databases;7.顯示數據庫中的表 use dataname;show tables;8.顯示表的結構 describe tablesname;9.建庫 create database 庫名;10.建表 use dataname; create table teacher //建立表TEACHER( id int(3) auto_increment not null primary key,name char(10) not null,address varchar(50) default '深圳',year date); //建表結束//以下為插入字段 insert into teacher values('','glchengang','深圳一中','1976-10-10'); insert into teacher values('','jack','深圳一中','1975-12-23'); 注:在建表中(1) 將ID設為長度為3的數字字段:int(3),并讓它每個記錄自動加一: auto_increment,并不能為空:not null,而且讓它成為主字段primary key(2) 將NAME設為長度為10的字符字段(3) 將ADDRESS設為長度50的字符字段,而且缺省值為深圳。
varchar和char有什么區別 呢,只有等以后的文章再說了。 (4) 將YEAR設為日期字段。
如果你在mysql提示符鍵入上面的命令也可以,但不方便調試。 你可以將以上命令 原樣寫入一個文本文件中假設為*,然后復制到c:下,并在DOS狀態進入目錄 mysql in,然后鍵入以下命令:mysql -uroot -p密碼 < c:* 如果成功,空出一行無任何顯示;如有錯誤,會有提示。
(以上命令已經調試,你 只要將//的注釋去掉即可使用)。11.刪除庫和刪除表 drop dataname; drop tablename;12.將表中的記錄清空 delete from tablename;13.顯示表中的記錄 select * from tablename;14.表重命名 alter table t1 rename t2---------------------------------------------------------15. 備份數據庫 mysqlbinmysqldump -h(ip) -uroot -p(password) databasename > *16. 恢復數據庫 mysqlbinmysql -h(ip) -uroot -p(password) databasename < *17.復制數據庫 mysqldump --all-databases > *18.備份表 mysqlbinmysqldump -h(ip) -uroot -p(password) databasename tablename > *19.恢復表(操作前先把原來的表刪除) mysqlbinmysql -h(ip) -uroot -p(password) databasename tablename < *----------------------------------------------------------20.為了改變列a,從INTEGER改為TINYINT NOT NULL(名字一樣),并且改變列b,從CHAR(10)改為CHAR(20),同時重命名它,從b改為c:ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20); 增加一個新TIMESTAMP列,名為d:ALTER TABLE t2 ADD d TIMESTAMP; 在列d上增加一個索引,并且使列a為主鍵:ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a); 刪除列c:ALTER TABLE t2 DROP COLUMN c; 增加一個新的AUTO_INCREMENT整數列,命名為c:ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c); 注意,我們索引了c,因為AUTO_INCREMENT柱必須被索引,并且另外我們聲明c為NOT NULL,因為索引了的列不能是NULL---------------------------------------------------------------21.數據的導入導出 A。
mysqlimport 語法:mysqlbinmysqlimport database *( 文件名需要與表名相同) 參數:-d or --delete 新數據導入數據表中之前刪除數據數據表中的所有信息;-f or --force 不管是否遇到錯誤,mysqlimport將強制繼續插入數據;-i or --ignore mysqlimport跳過或者忽略那些有相同唯一關鍵字的行, 導入文件中的數據將被忽略;-l or -lock-tables 數據被插入之前鎖住表,這樣就防止了, 你在更新數據庫時,用戶的查詢和更新受到影響;--fields-enclosed- by= char 指定文本文件中數據的記錄時以什么括起的, 很多情況下數據以雙引號括起。 默認的情況下數據是沒有被字符括起的。
--fields-terminated- by=char 指定各個數據的值之間的分隔符,在句號分隔的文件中,分隔符是句號。您可以用此選項指定數據之間的分隔符。
默認的分隔符是跳格符 (Tab) --lines-。