mysql.w002_mysql简单例子
登陸數據庫:
mysql -u用戶名 -p密碼 -P端口 -h數據庫地址
??????修改mysql提示符:(僅本次連接有效)??????
方法一:執行mysql?-uroot?-proot?-prompt?\h
結果為:localhost
方法二:進入mysql后,執行PROMPT?\u@\h?\d>
結果為:root@localhost(數據庫名)>
參數說明:
\D
完整日期
\d
當前數據庫
\h
服務器名稱(域名/IP)
\u
系統當前用戶
庫級操作:
SELECT?USER();//顯示當前用戶
SELECT?DATABASE();//顯示打開的數據庫
//創建數據庫
//CREATE?{DATABASE?|?SCHEMA}?[IF?NOT?EXISTS]?db_name?[DEFAULT]?CHARACTER?SET?[=]?charset_name;
CREATE?DATABASE?hehe;
//查看已有的數據庫信息(比如編碼等)
SHOW?CREATE?DATABASE?hehe;
//顯示數據庫
//SHOW?{DATABASES?|?SCHEMA}?[LIKE?'Ppattern'?|?WHERE?expr]
SHOW?DATABASES;
//修改數據庫(比如編碼等)
//ALTER?{DATABASE?|?SCHEMA}?[IF?NOT?EXISTS]?db_name?[DEFAULT]?CHARACTER?SET?[=]?charset_name;
//刪除數據庫
//DROP?{DATABASE?|?SCHEMA}?[IF?NOT?EXISTS]?db_name
DROP?DATABASE?hehe;
表級操作:
//創建表
//列名?數據類型?[數值型是否有符號]?[是否可NULL]?[默認值]?[唯一約束]?[自動遞增,1開始]?[主鍵,一張表只能有一個]
//列名?數據類型?[UNSGINED]?[NULL?|?NOT?NULL]?[DEFAULT?value]?[UNIQUE?KEY]?[AUTO_INCREMENT]?[PREMARY?KEY]
CREATE?TABLE?table_name(
username?varchar(20),
number?int(11)?unsgined,
sex?ENUM(1,2,3)?DEFAULT?3,
);
//查看表
SELECT?TABLES?[FROM?數據庫名];
//查看表結構
SHOW?COLUMNS?FROM?table_name;
//修改表名
方法一:ALTER?TABLE?table_name?RENAME?new_name
方法二:RENAME?TABLE?table_name?TO?new_name?[,?table_name2?TO?new_name2,...]
//添加列
ALTER?TABLE?table_name?ADD?password?varchar(20)?NOT?NULL?AFTER?{username?|?FIRST?|?LAST};
//刪除列,并增加
ALTER?TABLE?table_name?DROP?password,?DROP?username,?ADD?id;
//修改列定義
ALTER?TABLE?table_name?MODIFY?username?varchar(50)?NOT?NULL;
//修改列名和定義
ALTER?TBALE?table_name?CHANGE?old_col_name?new_col_name?[定義]?[FIRST?|?AFTER?col_name]
//列操作總結:ALTER?TABLE?table_name?[操作],[操作]...
增、刪、改、查:
=========================增=========================
//INSERT?[INTO]?table_name?[(列名1,列名2,...)]?VALUE(第一條),(第二條),...;
INSERT?table_name?(username,?password,?age)?VALUE?("zhangsan",?"123456",?12),("lisi",?"123456",?18);
//INSERT?[INTO]?table_name?SET?username="wangwu",password="123456";只能插入單條
//INSERT?[INTO]?table_name?[(列名1,列名2,...)]?SELECT...
=========================刪=========================
//DELETE?FROM?table_name?[WHERE?...]
=========================改=========================
//UPDATE?table_name?SET?username="zhangsan",password="654321",...[WHERE?...];
=========================查=========================
SELECT?列名?FROM?表名,?where條件,?group?by分組條件,?HAVING二級條件,?order?by排序,?LIMIT條件
SELECT col_name[,col_name1,col_name2,...] [AS new_col_name]
[
FROM table_name
[WHERE where_condition]
[GROUP BY {col_name | position} [ASE | DESC], ...]
[HAVING where_condition]
[ORDER BY {col_name | expr | position} [ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
]
SET?NAMES?gbk;//select結果用gbk編碼顯示,不會改變數據庫編碼方式
SELECT?*?FROM?hehe\G;//以表格的形式顯示結果
子查詢:
SELECT * FROM hehe WHERE id = (SELECT id FROM xixi WHERE name = "zhangsan");
假如子查詢中的(...)返回結果查過一行,則需要用關鍵字ANY、SOME、ALL三者之一來修飾。
SELECT * FROM hehe WHERE price = ANY(SELECT price FROM xixi WHERE name = "goods");
ANY
SOME
ALL
>、>=
>min
>min
>max
=
任意值
任意值
!=
任意值
其中=和!=可以用IN和NOT IN代替:
SELECT * FROM hehe WHERE priceIN(SELECT price FROM xixi WHERE name = "goods");
使用子查詢結果
//INSERT?table_name?(col_name1,col_name2,...)?SELECT?...
連接:
語法:... [LEFT | RIGHT] JOIN 表名 ON 連接條件 ...
內連接【JOIN】
外連接:左外連接【LEFT JOIN】、右外連接【RIGHT JOIN】、全連接【無】
自身連接【內連接自身table即可】
連接的條件可以使用ON或者WHERE關鍵字,但是一般使用ON來定義連接條件,WHERE來定義篩選條件。
//雙表連接,顯式
SELECT?col_name?[AS?resultId]?FROM?table_name1?AS?t1?JOIN?table_name2?AS?t2?ON?t1.id?=?t2.id?WHERE...
UPDATE?table_name1?AS?a?JOIN?table_name2?AS?b?ON?a.id?=?b.number?SET?a.name?=?b.name;
DELETE?t1?FROM?table_name1?AS?t1?LEFT?JOIN?(SELECT語句...也可嵌套連接和子查詢和WHERE篩選)
//雙表連接,隱式,內連接可以省略JOIN,左外連接和右外連接不可省略。
SELECT?col_name?[AS?resultId]?FROM?table_name1?AS?t1,?table_name2?AS?t2?ON?t1.id?=?t2.id?WHERE...
//雙表外連接,把內連接的JOIN改成LEFT?JOIN或者RIGHT?JOIN即可。
//多表連接
SELECT?col_name?FROM?table_name1?AS?t1
JOIN?table_name2?AS?t2?ON?t1.id?=?t2.number
JOIN?table_name3?AS?t2?ON?t1.pid?=?t3.number
[...]
mysql有4種數據類型(整形、浮點型、字符型、日期時間型)。
總結
以上是生活随笔為你收集整理的mysql.w002_mysql简单例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript --- 使用aj
- 下一篇: 苹果系统安装服务器打印机,如何在MAC系