落落空間

          緣來是java
          posts - 12, comments - 12, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          [轉發]MYSQL常用指令

          Posted on 2007-06-14 16:36 落落 閱讀(677) 評論(0)  編輯  收藏 所屬分類: database
              感覺很有必要參考的,就轉發過來了:

          unsigned int
          auto_increment 自動增長
          not null  非空
          tinyint(m)
          float(m,n) m 總長 n 小數點后的位數
          mysqld --console 開始
          Mysqld (start)
          Mysqld-nt
          CREATE DATABASE db_name 創建數據庫
          USE db_name(選取數據庫)
          Mysql 管理
          mysqladmin
          Show databases 查看

          mysql -h(hostname) -u(username) -p(要求輸入密碼的)
          quit 退出

          1、show tables

          2、mysqladmin shutdown 關閉

          3、mysql --h=hostname --u=username --p

          4、DROP DATABASE db_name  刪除

          5、DROP TABLE 表的名字   

          6、CREATE TABLE 表的名字 SELECT (要選擇的列) FROM 原來的表 WHERE condition;

          7、CREATE TABLE new_table SELECT id,name,sex FROM

          8、INSERT INTO 表的名字 VALUES 跟的值(‘列的值’,‘列的值’);

          9、drop database name(數據庫的名字) 刪除數據庫
          10、CREATE TABLE name (id int,name varchar(20),sex ENUM('male','female'))創建表

          11、DESCRIBE TABLE(表的名字)

          12、ALTER TABLE name(表的名字)ADD PRIMARY KEY (index_col_name); 建表的主鍵

          13、ALTER TABLE name(表的名字)MODIFY id int(11) unsuptaigned(非負) not null(非空) auto_intcrement(自動增長);

          14、select * from 表的名字;

              SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5;

          15、update 表的名字 set 列的名字='數據' where id=號碼; 修改和增加數據

          16、ALTER TABLE 表的名字 ADD 列名 類型 ; 增加一個列

          17、LOAD DATA INFILE ‘路徑,文件名’INTO TABLE 表名;    導入數據

          修改記錄:UPDATE table_name SET column_name_1=column_value_1[,column_name2=column_value2] [WHERE where_statement] [LIMIT n];
          例: UPDATE xscj SET YuWen=80 WHERE id=101 (int型不要‘’,char 型要’‘)
          刪除記錄:DELETE FROM table_name [WHERE where_statements][LIMIT n];
          DELETE FROM xscj WHERE id=101;
          CREATE TABLE 表的名字 SELECT 要選擇的列或* FROM 原表名 WHERE id=..(只提取一條記錄)默認為全部
          INSERT INTO 表名 VALUES (與表對應的數值);插入多個值(),()SELECT * FROM 表名;
          有些關鍵字可以用``標起來   例如:`all`

          18、創建索引:
          CREATE TABLE 表名 (id init,name varchar(20)) INDEX idx_id(id) PRIMARY KEY id
          CREATE INDEX part_of_name ON customer (name(10));

          19、ALTER TABLE 表名 ADD INDEX idx_id (id,name); 修改索引;

          20、ALTER TABLE 表名 DROP INDEX idx_id(索引的名字) 刪除索引

          order by (DESC(降序)) 排序

          select TOP 3(前三行) student_id,name from xscj where student_id between 123 AND 1323 order by students_id ,name desc
          SELECT student_id , count(*) AS ss FROM xscj GROUP BY student_id;
          count(*) 記錄行數
          ab[123].com=ab1.com or ab2.com or ab3.com
          mysql mytest < c:\study.txt  導入文件

          臨時表
          可用CREATE TEMPORARY TABLE 來創建臨時表,這些表在會話結束時會自動消失。使用臨時表很方便,
          因為不必費心發布DROP TABLE 語句明確地刪除這些表,而且如果您的會話不正常結束,這些表不會滯留
          。例如,如果某個文件中有一個用mysql運行的查詢,您決定不等到其結束,那么可以在其執行的中途停
          止這個查詢,而且毫無問題,服務器將刪除所創建的任意臨時表。在舊版的MySQL中,沒有真正的臨時表
          ,除了您在自己的頭腦中認為它們是臨時的除外。對于需要這樣的表的應用程序,必須自己記住刪除這些
          表。如果忘了刪除,或在前面使其存在的客戶機中出現錯誤時,這些表在有人注意到并刪除它們以前會一
          直存在。臨時表僅對創建該表的客戶機可見。

          DROP TABLE tb1_name1,tb1_name2,......
          ? ? 其次,如果不能肯定一個表是否存在,但希望如果它存
          在就刪除它。那么可在此語句中增加IF EXISTS。

          SELECT a,b,a+b INTO OUTFILE 'c:/result.text' FIELDS TERMINATED BY "" LINES TERMINATED BY "\n" FROM test_table;
          SELECT user,MAX(salary) AS sum FROM users group by user HAVING sum>10 LIMIT 95,-1(95到最后);
          @c:\study.sql 可以查看系統
           
          SELECT * FROM table1 USE INDEX (key1,key2) WHERE key1=1 AND key2=2 AND key3=3;
           主鍵與負鍵的聯系用 references

          mysql數據庫的授權
             mysql>grant select,insert,delete,create,drop
             on *.* (或test.*/user.*/..)
             to 用戶名@localhost
             identified by 密碼;
             如:新建一個用戶帳號以便可以訪問數據庫,需要進行如下操作:
             mysql> grant usage(沒有權限)
             -> ON test.*
             -> TO testuser@localhost;
             Query OK, 0 rows affected (0.15 sec)
             此后就創建了一個新用戶叫:testuser,這個用戶只能從localhost連接到數據庫并可以連接到test 數據庫。下一步,我們必須指定testuser這個用戶可以執行哪些操作:
             mysql> GRANT select, insert, delete,update
             -> ON test.*
             -> TO testuser@localhost;
             Query OK, 0 rows affected (0.00 sec)
             此操作使testuser能夠在每一個test數據庫中的表執行SELECT,INSERT和DELETE以及UPDATE查詢操作。現在我們結束操作并退出MySQL客戶程序:
             mysql> exit
             Bye
              
               登陸:mysql -u  用戶名 -p
               刪除用戶 delete from user where user='名字1' [or user='名字2'];
               user 數據庫是系統的
           
          運行腳本:
          修改密碼:
          USE mysql;
          UPDATE user SET Password(字段名)=PASSWORD(一個函數)('new_password') WHERE user='root'

          FLUSH PRIVILEGES;(你必須告訴服務器再次讀入授權表)

          Mysqldump 數據庫備份
          mysqldump -u -p 數據庫名[表名]>(重定向)
          mysqldump                     <


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 涡阳县| 桂阳县| 澄迈县| 招远市| 凌云县| 和田县| 邯郸县| 张掖市| 鲁甸县| 大邑县| 龙海市| 浦江县| 东宁县| 石河子市| 德保县| 长丰县| 西贡区| 抚州市| 喀喇| 洞头县| 定边县| 霸州市| 黄梅县| 乌恰县| 宁波市| 秭归县| 玛曲县| 岢岚县| 宜春市| 吉水县| 桐柏县| 潮州市| 璧山县| 什邡市| 新田县| 应城市| 永泰县| 辽阳市| 元朗区| 西华县| 海伦市|