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列后面
-
添加多列
ALTER TABLE table_name [COLUMN] (col_name column_definition,...)//添加多列时,只能添加的末尾
- 删除列
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; - 添加主键约束
- 添加唯一约束
- 添加/删除默认约束
- 删除主键约束
删除外键约束
修改列定义
- 修改列名称
- 数据表更名
-
小结
操作数据表中的记录
可以插入表达式、函数、值
备注:为自动编号赋值可以为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