<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    mysql常識和基本操作

      【IT168 服務器學院】字段類型?
       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?

       BLOB或TEXT類型,最大長度為65535(2^16-1)個字符。

       6.VARCHAR

       變長字符串類型。?

       1: 顯示數據庫?
     ?
       SHOW DATABAS,?

       2:當前選擇的數據庫,?

       mysql> SELECT DATABASE();?
       +------------+?
       | DATABASE() |?
       +------------+?
       | test ;?
       +------------+?
       | DATABASE() |?
       +------------+?
       | test    |?
       +------------+?

       當前數據庫包含的表信息:?

       mysql> SHOW TABLES;?
       +---------------------+?
       | Tables in test ?
       mysql> SHOW TABLES;?
       +---------------------+?
       | Tables in test   |?
       +---------------------+?
       | mytable1      |?
       | mytable2      |?
       +---------------------+?

       獲取表結構?

       mysql> desc mytable1;?
       +---------+-------------+------+-----+---------+-------+?
       | Field  mysql> desc mytable1;?
       +---------+-------------+------+-----+---------+-------+?
       | Field  | Type  | Null | Key | Default | Extra |?
       +---------+-------------+------+-----+---------+-------+?
       | s1  | varchar(20) | YES |NULL  |    |?
       +---------------------+------+-----+---------+-------+?

    ?

       5.導入數據庫表?
       (1)創建.sql文件

       (2)先產生一個庫如auction.c:mysqlbin>mysqladmin -u root -p creat auction,會提示輸入密碼,然后成功創建。

       (2)導入auction.sql文件

       c:mysqlbin>mysql -u root -p auction < auction.sql。

       通過以上操作,就可以創建了一個數據庫auction以及其中的一個表auction。

       6.修改數據庫

       (1)在mysql的表中增加字段:

       alter table dbname add column userid int(11) not null primary key auto_increment;

       這樣,就在表dbname中添加了一個字段userid,類型為int(11)。

       7.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?

    posted on 2007-03-25 10:09 金家寶 閱讀(1746) 評論(5)  編輯  收藏 所屬分類: 其他輔助技術

    評論

    # re: mysql常識和基本操作 2007-03-25 10:17 金家寶

    入門篇

    上篇講了如何安裝并測試MySQL,環境建好后就可以繼續我們的學習了。本篇主要熟悉一寫常用命令。

    1、啟動MySQL服務器

    實際上上篇已講到如何啟動MySQL。兩種方法:

    一是用winmysqladmin,如果機器啟動時已自動運行,則可直接進入下一步操作。

    二是在DOS方式下運行

    d:mysqlbinmysqld

    2、進入mysql交互操作界面

    在DOS方式下,運行:

    d:mysqlbinmysql

    出現:

    mysql

    的提示符,此時已進入mysql的交互操作方式。

    如果出現 "ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)“,

    說明你的MySQL還沒有啟動。

    3、退出MySQL操作界面

    在mysql>提示符下輸入quit可以隨時退出交互操作界面:

    mysql> quit

    Bye

    你也可以用control-D退出。

    4、第一條命令

    mysql> select version(),current_date();

    +----------------+-----------------+

    | version() | current_date() |

    +----------------+-----------------+

    | 3.23.25a-debug | 2001-05-17 |

    +----------------+-----------------+

    1 row in set (0.01 sec)

    mysql>

    此命令要求mysql服務器告訴你它的版本號和當前日期。嘗試用不同大小寫操作上述命令,看結果如何。

    結果說明mysql命令的大小寫結果是一致的。

    練習如下操作:

    mysql>Select (20+5)*4;

    mysql>Select (20+5)*4,sin(pi()/3);

    mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名為Result)

    5、多行語句

    一條命令可以分成多行輸入,直到出現分號“;”為止:

    mysql> select

    -> USER()

    -> ,

    -> now()

    ->;

    +--------------------+---------------------+

    | USER() | now() |

    +--------------------+---------------------+

    | ODBC@localhost | 2001-05-17 22:59:15 |

    +--------------------+---------------------+

    1 row in set (0.06 sec)

    mysql>

    注意中間的逗號和最后的分號的使用方法。

    6、一行多命令

    輸入如下命令:

    mysql> SELECT USER(); SELECT NOW();

    +------------------+

    | USER() |

    +------------------+

    | ODBC@localhost |

    +------------------+

    1 row in set (0.00 sec)

    +---------------------+

    | NOW() |

    +---------------------+

    | 2001-05-17 23:06:15 |

    +---------------------+

    1 row in set (0.00 sec)

    mysql>

    注意中間的分號,命令之間用分號隔開。

    7、顯示當前存在的數據庫

    mysql> show databases;

    +----------+

    | Database |

    +----------+

    | mysql|

    | test |

    +----------+

    2 row in set (0.06 sec)

    mysql>

    8、選擇數據庫并顯示當前選擇的數據庫

    mysql> USE mysql

    Database changed

    mysql>

    (USE 和 QUIT 命令不需要分號結束。)

    mysql> select database();

    +---------------+

    | database()|

    +---------------+

    | mysql |

    +---------------+

    1 row in set (0.00 sec)

    9、顯示當前數據庫中存在的表

    mysql> SHOW TABLES;

    10、顯示表(db)的內容

    mysql>select * from db;

    11、命令的取消

    當命令輸入錯誤而又無法改變(多行語句情形)時,只要在分號出現前就可以用 c來取消該條命令

    mysql> select

    -> user()

    -> c

    mysql>

    這是一些最常用的最基本的操作命令,通過多次練習就可以牢牢掌捂了。
      回復  更多評論   

    # re: mysql常識和基本操作 2007-03-25 10:18 金家寶

    學習篇

    了解了一些最基本的操作命令后,我們再來學習如何創建一個數據庫和數據庫表。

    1、使用SHOW語句找出在服務器上當前存在什么數據庫:

    mysql> SHOW DATABASES;

    +----------+

    | Database |

    +----------+

    | mysql|

    | test |

    +----------+

    3 rows in set (0.00 sec)

    2、創建一個數據庫abccs

    mysql> CREATE DATABASE abccs;

    注意不同操作系統對大小寫的敏感。

    3、選擇你所創建的數據庫

    mysql> USE abccs

    Database changed

    此時你已經進入你剛才所建立的數據庫abccs.

    4、 創建一個數據庫表

    首先看現在你的數據庫中存在什么表:

    mysql> SHOW TABLES;

    Empty set (0.00 sec)

    說明剛才建立的數據庫中還沒有數據庫表。下面來創建一個數據庫表mytable:

    我們要建立一個你公司員工的生日表,表的內容包含員工姓名、性別、出生日期、出生城市。

    mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1),

    -> birth DATE, birthaddr VARCHAR(20));

    Query OK, 0 rows affected (0.00 sec)

    由于name、birthadd的列值是變化的,因此選擇VARCHAR,其長度不一定是20。可以選擇從

    1到255的任何長度,如果以后需要改變它的字長,可以使用ALTER TABLE語句。);

    性別只需一個字符就可以表示:"m"或"f",因此選用CHAR(1);

    birth列則使用DATE數據類型。

    創建了一個表后,我們可以看看剛才做的結果,用SHOW TABLES顯示數據庫中有哪些表:

    mysql> SHOW TABLES;

    +---------------------+

    | Tables in menagerie |

    +---------------------+

    | mytables|

    +---------------------+

    5、顯示表的結構:

    mysql> DESCRIBE mytable;

    +-------------+-------------+------+-----+---------+-------+

    | Field | Type| Null | Key | Default | Extra |

    +-------------+-------------+------+-----+---------+-------+

    | name| varchar(20) | YES | | NULL| |

    | sex | char(1) | YES | | NULL| |

    | birth | date| YES | | NULL| |

    | deathaddr | varchar(20) | YES | | NULL| |

    +-------------+-------------+------+-----+---------+-------+

    4 rows in set (0.00 sec)

    6、 往表中加入記錄

    我們先用SELECT命令來查看表中的數據:

    mysql> select * from mytable;

    Empty set (0.00 sec)

    這說明剛才創建的表還沒有記錄。

    加入一條新記錄:

    mysql> insert into mytable

    -> values ('abccs','f','1977-07-07','china');

    Query OK, 1 row affected (0.05 sec)

    再用上面的SELECT命令看看發生了什么變化。

    我們可以按此方法一條一條地將所有員工的記錄加入到表中。

    7、用文本方式將數據裝入一個數據庫表

    如果一條一條地輸入,很麻煩。我們可以用文本文件的方式將所有記錄加入你的數據庫表中。

    創建一個文本文件“mysql.txt”,每行包含一個記錄,用定位符(tab)把值分開,并且以在

    CREATE TABLE語句中列出的列次序給出,例如:

    abccs f 1977-07-07 china  

    mary f 1978-12-12 usa

    tom m 1970-09-02 usa

    使用下面命令將文本文件“mytable.txt”裝載到mytable表中:

    mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet;

    再使用如下命令看看是否已將數據輸入到數據庫表中:

    mysql> select * from mytable;

      回復  更多評論   

    # re: mysql常識和基本操作 2007-03-25 10:19 金家寶

    學習篇

    上篇我們學會了如何創建一個數據庫和數據庫表,并知道如何向數據庫表中添加記錄。

    那么我們如何從數據庫表中檢索數據呢?

    1、從數據庫表中檢索信息

    實際上,前面我們已經用到了SELECT語句,它用來從數據庫表中檢索信息。

    select語句格式一般為:

    SELECT 檢索關鍵詞 FROM 被檢索的表 WHERE 檢索條件(可選)

    以前所使用的“ * ”表示選擇所有的列。

    下面繼續使用我們在上篇文章中創建的表mytable:

    2、查詢所有數據:

    mysql> select * from mytable;

    +----------+------+------------+----------+

    | name | sex | birth | birthaddr |

    +----------+------+------------+--------+

    | abccs|f| 1977-07-07 | china |

    | mary |f| 1978-12-12 | usa |

    | tom |m| 1970-09-02 | usa |

    +----------+------+------------+----------+

    3 row in set (0.00 sec)

    3、修正錯誤記錄:

    假如tom的出生日期有錯誤,應該是1973-09-02,則可以用update語句來修正:

    mysql> update mytable set birth = "1973-09-02" where name = "tom";

    再用2中的語句看看是否已更正過來。

    4、選擇特定行

    上面修改了tom的出生日期,我們可以選擇tom這一行來看看是否已經有了變化:

    mysql> select * from mytable where name = "tom";

    +--------+------+------------+------------+

    | name |sex | birth | birthaddr |

    +--------+------+------------+------------+

    | tom|m| 1973-09-02 | usa|

    +--------+------+------------+------------+

    1 row in set (0.06 sec)

    上面WHERE的參數指定了檢索條件。我們還可以用組合條件來進行查詢:

    mysql> SELECT * FROM mytable WHERE sex = "f" AND birthaddr = "china";

    +--------+------+------------+------------+

    | name |sex | birth | birthaddr |

    +--------+------+------------+------------+

    | abccs |f| 1977-07-07 | china |

    +--------+------+------------+------------+

    1 row in set (0.06 sec)

    5、 選擇特定列

    假如你想查看表中的所有人的姓名,則可以這樣操作:

    mysql> SELECT name FROM mytable;

    +----------+

    | name |

    +----------+

    | abccs |

    | mary |

    | tom |

    +----------+

    3 row in set (0.00 sec)

    如果想列出姓名和性別兩列,則可以用逗號將關鍵詞name和birth分開:

    myaql> select name,birth from mytable;

    6、對行進行排序

    我們可以對表中的記錄按生日大小進行排序:

    mysql> SELECT name, birth FROM mytable ORDER BY birth;

    +----------+------------+

    | name | birth |

    +----------+------------+

    | tom | 1973-09-02 |

    | abccs| 1977-07-07 |

    | mary | 1978-12-12 |

    +----------+------------+

    3 row in set (0.00 sec)

    我們可以用DESC來進行逆序排序:

    mysql> SELECT name, birth FROM mytable ORDER BY birth DESC;

    +----------+------------+

    | name | birth |

    +----------+------------+

    | mary | 1978-12-12 |

    | abccs| 1977-07-07 |

    | tom | 1973-09-02 |

    +----------+------------+

    3 row in set (0.00 sec)

    7、 行計數

    數據庫經常要統計一些數據,如表中員工的數目,我們就要用到行計數函數COUNT()。

    COUNT()函數用于對非NULL結果的記錄進行計數:

    mysql> SELECT COUNT(*) FROM mytable;

    +----------+

    | COUNT(*) |

    +----------+

    |3 |

    +----------+

    1 row in set (0.06 sec)

    員工中男女數量:

    mysql> SELECT sex, COUNT(*) FROM mytable GROUP BY sex;

    +------+----------+

    | sex | COUNT(*) |

    +------+----------+

    | f|2 |

    | m|1 |

    +------+----------+

    2 row in set (0.00 sec)

    注意我們使用了GROUP BY對SEX進行了分組。

      回復  更多評論   

    # re: mysql常識和基本操作 2007-03-25 10:19 金家寶

    多表操作

    前面我們熟悉了數據庫和數據庫表的基本操作,現在我們再來看看如何操作多個表。

    在一個數據庫中,可能存在多個表,這些表都是相互關聯的。我們繼續使用前面的例子。前面建立的表中包含了員工的一些基本信息,如姓名、性別、出生日期、出生地。我們再創建一個表,該表用于描述員工所發表的文章,內容包括作者姓名、文章標題、發表日期。

    1、查看第一個表mytable的內容:

    mysql> select * from mytable;

    +----------+------+------------+-----------+

    | name | sex | birth | birthaddr |

    +----------+------+------------+-----------+

    | abccs|f | 1977-07-07 | china |

    | mary |f | 1978-12-12 | usa |

    | tom |m | 1970-09-02 | usa |

    +----------+------+------------+-----------+

    2、創建第二個表title(包括作者、文章標題、發表日期):

    mysql> create table title(writer varchar(20) not null,

    -> title varchar(40) not null,

    -> senddate date);

    向該表中填加記錄,最后表的內容如下:

    mysql> select * from title;

    +--------+-------+------------+

    | writer | title | senddate |

    +--------+-------+------------+

    | abccs | a1| 2000-01-23 |

    | mary | b1| 1998-03-21 |

    | abccs | a2| 2000-12-04 |

    | tom| c1| 1992-05-16 |

    | tom| c2| 1999-12-12 |

    +--------+-------+------------+

    5 rows in set (0.00sec)

    3、多表查詢

    現在我們有了兩個表: mytable 和 title。利用這兩個表我們可以進行組合查詢:

    例如我們要查詢作者abccs的姓名、性別、文章:

    mysql> SELECT name,sex,title FROM mytable,title

    -> WHERE name=writer AND name='abccs';

    +-------+------+-------+

    | name | sex | title |

    +-------+------+-------+

    | abccs | f| a1|

    | abccs | f| a2|

    +-------+------+-------+

    上面例子中,由于作者姓名、性別、文章記錄在兩個不同表內,因此必須使用組合來進行查詢。必須要指定一個表中的記錄如何與其它表中的記錄進行匹配。

    注意:如果第二個表title中的writer列也取名為name(與mytable表中的name列相同)而不是writer時,就必須用mytable.name和title.name表示,以示區別。

    再舉一個例子,用于查詢文章a2的作者、出生地和出生日期:

    mysql> select title,writer,birthaddr,birth from mytable,title

    -> where mytable.name=title.writer and title='a2';

    +-------+--------+-----------+------------+

    | title | writer | birthaddr | birth |

    +-------+--------+-----------+------------+

    | a2| abccs | china | 1977-07-07 |

    +-------+--------+-----------+------------+

      回復  更多評論   

    # re: mysql常識和基本操作 2007-03-25 10:20 金家寶

    修改和備份、批處理

    有時我們要對數據庫表和數據庫進行修改和刪除,可以用如下方法實現:

    1、增加一列:

    如在前面例子中的mytable表中增加一列表示是否單身single:

    mysql> alter table mytable add column single char(1);

    2、修改記錄

    將abccs的single記錄修改為“y”:

    mysql> update mytable set single='y' where name='abccs';

    現在來看看發生了什么:

    mysql> select * from mytable;

    +----------+------+------------+-----------+--------+

    | name | sex | birth | birthaddr | single |

    +----------+------+------------+-----------+--------+

    | abccs|f | 1977-07-07 | china | y |

    | mary |f | 1978-12-12 | usa | NULL |

    | tom |m | 1970-09-02 | usa | NULL |

    +----------+------+------------+-----------+--------+

    3、增加記錄

    前面已經講過如何增加一條記錄,為便于查看,重復與此:

    mysql> insert into mytable

    -> values ('abc','f','1966-08-17','china','n');

    Query OK, 1 row affected (0.05 sec)

    查看一下:

    mysql> select * from mytable;

    +----------+------+------------+-----------+--------+

    | name | sex | birth | birthaddr | single |

    +----------+------+------------+-----------+--------+

    | abccs|f | 1977-07-07 | china | y |

    | mary |f | 1978-12-12 | usa | NULL |

    | tom |m | 1970-09-02 | usa | NULL |

    | abc |f | 1966-08-17 | china | n |

    +----------+------+------------+-----------+--------+



    3、刪除記錄

    用如下命令刪除表中的一條記錄:

    mysql> delete from mytable where name='abc';

    DELETE從表中刪除滿足由where給出的條件的一條記錄。

    再顯示一下結果:

    mysql> select * from mytable;

    +----------+------+------------+-----------+--------+

    | name | sex | birth | birthaddr | single |

    +----------+------+------------+-----------+--------+

    | abccs|f | 1977-07-07 | china | y |

    | mary |f | 1978-12-12 | usa | NULL |

    | tom |m | 1970-09-02 | usa | NULL |

    +----------+------+------------+-----------+--------+

    4、刪除表:

    mysql> drop table ****(表1的名字),***表2的名字;

    可以刪除一個或多個表,小心使用。

    5、數據庫的刪除:

    mysql> drop database 數據庫名;

    小心使用。

    6、數據庫的備份:

    退回到DOS:

    mysql> quit

    d:mysqlbin

    使用如下命令對數據庫abccs進行備份:

    mysqldump --opt abccs>abccs.dbb

    abccs.dbb就是你的數據庫abccs的備份文件。

    7、用批處理方式使用MySQL:

    首先建立一個批處理文件mytest.sql,內容如下:

    use abccs;

    select * from mytable;

    select name,sex from mytable where name='abccs';

    在DOS下運行如下命令:

    d:mysqlbin mysql < mytest.sql

    在屏幕上會顯示執行結果。

    如果想看結果,而輸出結果很多,則可以用這樣的命令:

    mysql < mytest.sql | more

    我們還可以將結果輸出到一個文件中:

    mysql < mytest.sql > mytest.out

      回復  更多評論   


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


    網站導航:
     
    主站蜘蛛池模板: 伊伊人成亚洲综合人网7777| 可以免费观看的一级毛片| 午夜影视日本亚洲欧洲精品一区| www永久免费视频| 亚洲精品线路一在线观看| 九九热久久免费视频| 亚洲av无码专区国产乱码在线观看| 国产啪精品视频网站免费尤物 | 免费国产成人高清视频网站| 色欲aⅴ亚洲情无码AV| 又爽又黄无遮挡高清免费视频| 蜜芽亚洲av无码一区二区三区| 婷婷亚洲天堂影院| 91精品成人免费国产| 99人中文字幕亚洲区| 一二三四免费观看在线电影| 亚洲乱码日产精品一二三| 亚洲成A人片在线观看中文 | a级毛片免费观看网站| 国产AV无码专区亚洲AVJULIA| 99精品视频免费在线观看| 亚洲一本一道一区二区三区| 免费**毛片在线播放直播 | 中文字幕成人免费高清在线| 国产aⅴ无码专区亚洲av| 久久久久久久免费视频| 人人狠狠综合久久亚洲| 亚洲日韩激情无码一区| 99久久久精品免费观看国产 | 亚洲精品天堂成人片?V在线播放| 中文字幕乱码免费看电影| 亚洲喷奶水中文字幕电影| 亚洲AV无码乱码精品国产| a级毛片毛片免费观看久潮喷| 亚洲精品第一国产综合精品| 国产国产人免费视频成69大陆| 中文字幕免费在线看电影大全| 亚洲国产精品成人综合久久久| 全部免费毛片在线| 四虎永久在线观看免费网站网址| 免费人成网站永久|