mysql操作语句now_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!
本篇Himi簡單介紹一些MySQL數據庫的基礎操作;
注:mysql 語句對大小寫不敏感,語句以分號“;”標識語句結束;
1. ? 首先使用兩個簡單的查詢語句;
查詢當前版本:select version();
查詢當前日期:select current_date;
查詢當前時間:select now();
兩句合并: select version() , current_date ,?now();
顯示結果如下:
mysql>?select?version()?,?current_date?,?now();
+-----------+--------------+---------------------+
|?version()?|?current_date?|?now()???????????????|
+-----------+--------------+---------------------+
|?5.5.23????|?2012-04-17???|?2012-04-17?14:34:53?|
+-----------+--------------+---------------------+
1?row?in?set?(0.00?sec)
2. ?SQL語句可分多行來寫:
mysql>?select?version(),
->?current_date,
->?now(),
->?user();
+-----------+--------------+---------------------+----------------+
|?version()?|?current_date?|?now()???????????????|?user()?????????|
+-----------+--------------+---------------------+----------------+
|?5.5.23????|?2012-04-17???|?2012-04-17?14:38:42?|?root@localhost?|
+-----------+--------------+---------------------+----------------+
1?row?in?set?(0.00?sec)
3. 使用查詢語句來作為計算器,讓mysql 為我們計算結果,如下:
mysql>?select?1*1,2*2,3*3;
+-----+-----+-----+
|?1*1?|?2*2?|?3*3?|
+-----+-----+-----+
|???1?|???4?|???9?|
+-----+-----+-----+
1?row?in?set?(0.00?sec)
4. 使用 \c 取消SQL語句的輸入;先看下MySQL的一些提示符:
提示符
含義
mysql>
準備好接受新命令。
->
等待多行命令的下一行。
‘>
等待下一行,等待以單引號(“’”)開始的字符串的結束。
“>
等待下一行,等待以雙引號(“””)開始的字符串的結束。
`>
等待下一行,等待以反斜點(‘`’)開始的識別符的結束。
/*>
等待下一行,等待以/*開始的注釋的結束。
輸入\c以后,它切換回到mysql>,提供反饋以表明mysql準備接受一個新命令。
4. 創建使用數據庫:
4.1 ? 查詢當前已存在的數據庫:
mysql>?show?databases;
+--------------------+
|?Database???????????|
+--------------------+
|?information_schema?|
|?mysql??????????????|
|?performance_schema?|
|?test???????????????|
+--------------------+
4?rows?in?set?(0.17?sec)
4.2 ?使用已有的數據庫;例如使用已存在的 test 數據庫;
mysql> use testDatabase changed
4.3 ? 假設你在test 該數據庫創建的任何東西可以被訪問它的其它人刪除,因此,你應該詢問MySQL管理員許可你使用自己的一個數據庫。假定你想要調用你的menagerie,管理員需要執行這樣一條命令:
mysql> GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';
這里your_mysql_name是分配給你的MySQL用戶名,your_client_host是所連接的服務器所在的主機。
4.4 ? ?創建并選擇新的數據庫;
mysql>?create?database?himiDB
->?;
Query?OK,?1?row?affected?(0.06?sec)
mysql>?use?himidb
Database?changed
mysql>
5. 創建使用表;
5.1 ? ? 新創建的數據庫中是沒有任何表的,如上面我新建的himiDB,如下我使用 show tables; 顯示:
mysql>?show?databases
->?;
+--------------------+
|?Database???????????|
+--------------------+
|?information_schema?|
|?himiDB?????????????|
|?mysql??????????????|
|?performance_schema?|
|?test???????????????|
+--------------------+
5?rows?in?set?(0.00?sec)
mysql>?use?himidb
Database?changed
mysql>?show?tables
->?;
Empty?set?(0.00?sec)
而關于表的創建比較麻煩,需要設計,較難的部分是決定你的數據庫結構應該是什么:你需要什么數據庫表,各數據庫表中有什么樣的列。你將需要一個包含你每個寵物的記錄的表。它可稱為pet表,并且它應該包含,最少,每個動物的名字。因為名字本身不是很有趣,表應該包含另外的信息。例如,如果在你豢養寵物的家庭有超過一個人,你可能想要列出每個動物的主人。你可能也想要記錄例如種類和性別的一些基本的描述信息。
年齡呢?那可能有趣,但是存儲到一個數據庫中不是一件好事情。年齡隨著時間流逝而變化,這意味著你將要不斷地更新你的記錄。相反, 存儲一個固定值例如生日比較好,那么,無論何時你需要年齡,可以以當前日期和出生日期之間的差來計算它。MySQL提供了日期運算函數,因此這并不困難。存儲出生日期而非年齡還有其它優點:· ? ? ? ? 你可以使用數據庫完成這樣的任務,例如生成即將到來的寵物生日的提示。(如果你認為這類查詢有點蠢,注意,這與從商務數據庫來識別出不久要發給生日祝賀的客戶是同一個問題,因為計算機幫助私人聯絡。)· ? ? ? ? 你可以相對于日期而不止是當前日期來計算年齡。例如,如果你在數據庫存儲死亡日期,你能很容易地計算出一只寵物死時有多大。
這里假設我們創建一個people 的表,其中包含人的 ?名字、名族(h/m 來表示漢族/滿族)、城市,性別(m/w man/woman)、出生和死亡日期。
mysql>?create?table?people?(
->?name?varchar(20),
->?mz?varchar(1),
->?city?varchar(10),
->?sex?varchar(1),
->?birthday?varchar(20),
->?deathday?varchar(20));
Query?OK,?0?rows?affected?(0.37?sec)
創建表規則: ?create table xx(table Name) ( item的名字 ?item的類型 ?);
這里 varchar 字符,varchar()小括號內的表示字符大小,根據情況自己定義,范圍是:1到65535的任何長度(如果選擇得不合適,后來證明你需要一個更長的字段,MySQL提供一個ALTER TABLE語句。)
OK,我們來查看這個新創建的表中的類目(具體每個記錄的查看使用 select *from 語句):
mysql>?show?tables;
+------------------+
|?Tables_in_himidb?|
+------------------+
|?people???????????|
+------------------+
1?row?in?set?(0.00?sec)
mysql>?describe?people;
+----------+-------------+------+-----+---------+-------+
|?Field????|?Type????????|?Null?|?Key?|?Default?|?Extra?|
+----------+-------------+------+-----+---------+-------+
|?name?????|?varchar(20)?|?YES??|?????|?NULL????|???????|
|?mz???????|?varchar(1)??|?YES??|?????|?NULL????|???????|
|?city?????|?varchar(10)?|?YES??|?????|?NULL????|???????|
|?sex??????|?varchar(1)??|?YES??|?????|?NULL????|???????|
|?birthday?|?varchar(20)?|?YES??|?????|?NULL????|???????|
|?deathday?|?varchar(20)?|?YES??|?????|?NULL????|???????|
+----------+-------------+------+-----+---------+-------+
6?rows?in?set?(0.14?sec)
5.2 ?往表中插入數據:
5.2.1. 第一種使用讀取本地txt插入到表中,txt的每個value之間以tab空開,然后采用如下語句插入:
load data local infile ‘xxx路徑’ into table people;
如下:
mysql>?load?data?local?infile'/Users/Himi/Desktop/people.txt'into?table?people;
Query?OK,?1?row?affected?(0.08?sec)
Records:?1??Deleted:?0??Skipped:?0??Warnings:?0
mysql>?SELECT?*?FROM?people;
+------+------+---------+------+-----------+----------+
|?name?|?mz???|?city????|?sex??|?birthday??|?deathday?|
+------+------+---------+------+-----------+----------+
|?himi?|?h????|?beijing?|?m????|?1989-9-23?|?NULL?????|
+------+------+---------+------+-----------+----------+
1?row?in?set?(0.03?sec)
OK,沒有問題,txt每一行對應表單的每一行,如果需要插入多行可以直接回車就OK啦。
注意:
mysql> LOAD DATA LOCAL INFILE ‘/path/people.txt’ INTO TABLE people;
請注意如果用Windows中的編輯器(使用\r\n做為行的結束符)創建文件,應使用:
mysql> LOAD DATA LOCAL INFILE ‘/path/people.txt’ INTO TABLE people? ? -> LINES TERMINATED BY ‘\r\n’;
(在運行OS X的Apple機上,應使用行結束符’\r’。)
如果你愿意,你也能明確地在LOAD DATA語句中指出列值的分隔符和行尾標記,但是默認標記是定位符和換行符。
5.2.2. ?使用INSERT語句手動直接插入
mysql>?insert?into?people
->?values('insertHimi','h','Anhui','m','1989-9-23',NULL);
Query?OK,?1?row?affected?(0.10?sec)
mysql>?select?*from?people;
+------------+------+---------+------+-----------+----------+
|?name???????|?mz???|?city????|?sex??|?birthday??|?deathday?|
+------------+------+---------+------+-----------+----------+
|?himi???????|?h????|?beijing?|?m????|?1989-9-23?|?NULL?????|
|?himi???????|?h????|?beijing?|?m????|?1989-9-23?|?NULL?????|
|?himi3??????|?h????|?beijing?|?m????|?1989-9-23?|?NULL?????|
|?insertHimi?|?h????|?Anhui???|?m????|?1989-9-23?|?NULL?????|
+------------+------+---------+------+-----------+----------+
4?rows?in?set?(0.01?sec)
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql操作语句now_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: phpmyadmin 无法载入 mysq
- 下一篇: python 操作ps_使用Python