windows下啟動MySQL服務:
用管理員打開CMD,
輸入net start mysql啟動服務
輸入net stop mysql停止服務
備注:以上命令同樣適應于管理其它服務。
mysql的登陸與退出
登陸:
C:\WINDOWS\system32>mysql -uroot -p -P3306 -h127.0.0.1
或
C:\WINDOWS\system32>mysql -uroot -p
退出:
mysql > exit;
mysql > quit;
mysql > \q;
常用命令
SELECT VERSION();//顯示當前服務器版本
SELECT NOW();//顯示當前日期時間
SELECT USER();//顯示當前用戶
SELECT DATABASE();
USE db_name; //打開數據庫
創建數據庫:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
查看創建的數據庫的信息:
CREATE DATABASE db_name;
修改數據庫
ALTER {DATABASE | SCHEMA} [db_name]
[DEFAULT] CHARACTER SET [=] charset_name;
刪除數據庫
DROP {DATABASE | SCEMA} [IF EXISTS] db_name;
查看當前服務器下的數據表列表
SHOW {DATABASES | SCHEMAS}
[LIKE 'pattern' | WHERE expr]
查看警告信息:SHOW WARNINGS;
創建數據表
CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type,
......
);
語句規范
1、關鍵字與函數名稱全部要大寫;
2、數據庫名稱、表名稱、字段名稱全部要小寫;
3、SQL語句必須以分號結尾。
命令介紹:
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
notee (\t) Don't write into outfile.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (#) Rebuild completion hash.
source (.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
primary key不一定與autoincrement一起使用,但autoincrement必須與primary key一起使用。
創建數據表舉例:
CREATE TABLE tabelname (
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,username VARCHAR(20) NOT NULL UNIQUE KEY,sex ENUM('1','2','3') DEFAULT '3'
);
查看數據表
SHOW TABLES [FROM db_name]
[LIKE 'pattern' | WHERE expr]
備注:不加[FROM db_name],則查看當前數據庫的數據表
查看數據表結構
SHOW COLUMNS FROM table_name;
插入記錄
INSERT [INTO] table_name [(col_name,...)] VALUES(val,...);
如:INSERT tablename(username,sex) VALUES('tom','2');
查找記錄
SELECT expr,... FROM table_name;
如:SELECT * FROM tb1;
備注: PRIMARY KEY 指定為主鍵,AUTO_INCREMENT自增長。
NOT NULL 不能為空,
UNIQUE KEY唯一約束,
DEFAULT 指定默認值。
數據類型
**空值 與 非空
NULL 字段可以為空
NOT NULL 字段不可以為空
主鍵 與 自動編號
主鍵:PRIMARY KEY,主鍵約束,每張數據表只能有一個主鍵,保證記錄的唯一性,自動為NOT NULL。
自動編號:AUTO_INCREMENT, 必須與主鍵組合使用,默認情況下,起始值為1,增量為1。
唯一約束 UNIQE KEY
默認約束 DEFAULT
當插入記錄時,如果沒有明確為字段賦值,則自動賦予默認值。
約束
外鍵約束 FOREIGN KEYp
作用:保持數據的一致性,完整性;實現一對一或一對多的關系。
數據表從存儲引擎,修改my.ini文件中default-storage-engine=INNODB
外鍵約束的要求:
查看參照列或外鍵列是否存在索引:
SHOW INDEXES FROM table_name;
以網格的形式呈現(加上\G):
SHOW INDEXES FROM table_name\G;
3.3 外鍵約束的參照操作
刪除記錄:DELETE FROM table_name WHERE 條件
數據表的修改
-
添加單列
ALTER TABLE table_name [COLUMN] column_name column_definition [FIRST | AFTER column_name]
如:ALTER TABLE users ADD age TINYINT UNSIGNED NOT NULL AFTER username;//添加age列到username列后面
Paste_Image.png -
添加多列
ALTER TABLE table_name [COLUMN] (col_name column_definition,...)//添加多列時,只能添加的末尾
Paste_Image.png - 刪除列
ALTER TABLE table_name DROP [COLUMN] col_name;// 刪除單列
ALTER TABLE table_name DROP [COLUMN] col_name,DROP [COLUMN] col_name...// 刪除多列
備注:添加和刪除列可以同時操作,操作間用“,”分隔,如:
ALTER TABLE users DROP username,ADD _id SMALLINT UNSIGNED NOT NULL; - 添加主鍵約束
- 添加唯一約束
- 添加/刪除默認約束
- 刪除主鍵約束
刪除外鍵約束
修改列定義
- 修改列名稱
- 數據表更名
-
小結
Paste_Image.png
操作數據表中的記錄
可以插入表達式、函數、值
備注:為自動編號賦值可以為NULL,也可以為DEFAULT;省略了列,所有的列必須依次賦值。
(這種方法,只能一次插入一條語句)
更新記錄UPDATE
注意:省略條件WHERE將更新所有的記錄
如:UPDATE users SET age = age - id, sex = 0;//將更新所有記錄,可以更新一個字段,也可以更新多個字段,用“,”分隔。
刪除記錄
如:DELETE FROM users WHERE id = 6;
查找記錄
WHERE 條件表達式
GROUP BY查詢記過分組
ORDER BY對查詢結果進行排序
LIMIT 限制查詢結果返回的數量
拓展資料:21分鐘 MySQL 入門教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html