MySQL的学习记录

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 条件

数据表的修改

  • 添加单列
    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
  • 添加唯一约束
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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • SQL SELECT 语句 一、查询SQL SELECT 语法 (1)SELECT 列名称 FROM 表名称 (2...
    有钱且幸福阅读 5,438评论 0 33
  • 1、MySQL启动和关闭(安装及配置请参照百度经验,这里不再记录。MySQL默认端口号:3306;默认数据类型格式...
    强壮de西兰花阅读 643评论 0 1
  • 20170623睡前打卡仪式:我今天想明白了一个道理 对干货知识的学习一定要遵循少而精的原则。少即是多,慢才是快。...
    跟喜乐学蜕变阅读 319评论 0 0
  • 我今年二十岁,如果你要问我至今我最后悔没早买的东西是什么,我会举起手中的kindle,毫不犹豫的回答说:就是它。 ...
    尾生斯基阅读 2,757评论 24 29