MySQL

MySQL的学习记录

2016-10-29  本文已影响12人  踏雪鸿雁

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; //打开数据库


Paste_Image.png Paste_Image.png

创建数据库:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name

查看创建的数据库的信息:
CREATE DATABASE db_name;

Paste_Image.png

修改数据库
ALTER {DATABASE | SCHEMA} [db_name]
[DEFAULT] CHARACTER SET [=] charset_name;

Paste_Image.png

删除数据库
DROP {DATABASE | SCEMA} [IF EXISTS] db_name;

Paste_Image.png Paste_Image.png

查看当前服务器下的数据表列表
SHOW {DATABASES | SCHEMAS}
[LIKE 'pattern' | WHERE expr]

查看警告信息:SHOW WARNINGS;

Paste_Image.png

创建数据表
CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type,
......
);

Paste_Image.png

语句规范
1、关键字与函数名称全部要大写;
2、数据库名称、表名称、字段名称全部要小写;
3、SQL语句必须以分号结尾。

Paste_Image.png Paste_Image.png

命令介绍:
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'
);

Paste_Image.png

查看数据表
SHOW TABLES [FROM db_name]
[LIKE 'pattern' | WHERE expr]
备注:不加[FROM db_name],则查看当前数据库的数据表
查看数据表结构
SHOW COLUMNS FROM table_name;

Paste_Image.png
插入记录
INSERT [INTO] table_name [(col_name,...)] VALUES(val,...);
如:INSERT tablename(username,sex) VALUES('tom','2'); Paste_Image.png

查找记录
SELECT expr,... FROM table_name;
如:SELECT * FROM tb1;

Paste_Image.png Paste_Image.png

备注: PRIMARY KEY 指定为主键,AUTO_INCREMENT自增长。
NOT NULL 不能为空,
UNIQUE KEY唯一约束,
DEFAULT 指定默认值。

Paste_Image.png Paste_Image.png

数据类型

Paste_Image.png Paste_Image.png Paste_Image.png

**空值 与 非空
NULL 字段可以为空
NOT NULL 字段不可以为空
主键 与 自动编号
主键:PRIMARY KEY,主键约束,每张数据表只能有一个主键,保证记录的唯一性,自动为NOT NULL。
自动编号:AUTO_INCREMENT, 必须与主键组合使用,默认情况下,起始值为1,增量为1。

唯一约束 UNIQE KEY

Paste_Image.png

默认约束 DEFAULT
当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。

Paste_Image.png

约束

Paste_Image.png Paste_Image.png

外键约束 FOREIGN KEYp
作用:保持数据的一致性,完整性;实现一对一或一对多的关系。
数据表从存储引擎,修改my.ini文件中default-storage-engine=INNODB
外键约束的要求:

Paste_Image.png Paste_Image.png Paste_Image.png

查看参照列或外键列是否存在索引:
SHOW INDEXES FROM table_name;


Paste_Image.png

以网格的形式呈现(加上\G):
SHOW INDEXES FROM table_name\G;


Paste_Image.png

3.3 外键约束的参照操作

Paste_Image.png

删除记录:DELETE FROM table_name WHERE 条件

数据表的修改

Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png

操作数据表中的记录

可以插入表达式、函数、值


Paste_Image.png

备注:为自动编号赋值可以为NULL,也可以为DEFAULT;省略了列,所有的列必须依次赋值。

Paste_Image.png Paste_Image.png

(这种方法,只能一次插入一条语句)

Paste_Image.png

更新记录UPDATE

Paste_Image.png

注意:省略条件WHERE将更新所有的记录

Paste_Image.png

如:UPDATE users SET age = age - id, sex = 0;//将更新所有记录,可以更新一个字段,也可以更新多个字段,用“,”分隔。

删除记录

Paste_Image.png

如:DELETE FROM users WHERE id = 6;

查找记录

Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png

WHERE 条件表达式

Paste_Image.png

GROUP BY查询记过分组

Paste_Image.png Paste_Image.png

ORDER BY对查询结果进行排序

Paste_Image.png Paste_Image.png

LIMIT 限制查询结果返回的数量

Paste_Image.png

拓展资料:21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html

上一篇 下一篇

猜你喜欢

热点阅读