MySQL笔记Word格式文档下载.docx

上传人:b****4 文档编号:16675188 上传时间:2022-11-25 格式:DOCX 页数:8 大小:17.76KB
下载 相关 举报
MySQL笔记Word格式文档下载.docx_第1页
第1页 / 共8页
MySQL笔记Word格式文档下载.docx_第2页
第2页 / 共8页
MySQL笔记Word格式文档下载.docx_第3页
第3页 / 共8页
MySQL笔记Word格式文档下载.docx_第4页
第4页 / 共8页
MySQL笔记Word格式文档下载.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

MySQL笔记Word格式文档下载.docx

《MySQL笔记Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MySQL笔记Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。

MySQL笔记Word格式文档下载.docx

\u当前用户

常用命令:

SELECTVERSION();

//显示当前版本

SELECTNOW();

//显示当前时间

SELECTUSER();

//显示当前用户

MySQL语法:

关键字与函数名全部大写;

数据库名称、表名称、字段名称全部小写;

SQL语句必须以分号结尾。

创建数据库:

CREATE{DATABASE|SCHEMA}[IFNOTEXISTS]db_name[DEFAULT]CHARACTERSET[=]charset_name;

例如:

CREATEDATEBASEdb1;

SHOWWARNINGS;

//查看警告信息

SHOWCREATEDATEBASEdb1;

//查看编码信息

CRETEDATEBASEIFNOTEXSITSdb2CHARACTERSETgbk;

修改数据库:

ALTER{DATABASE|SCHEMA}[db_name][DEFAULT]CHARACTERSET[=]charset_name;

删除数据库:

DROP{DATABASE|SCHEMA}[IFEXISTS]db_name;

二、数据类型和操作数据表

数据类型

整型:

TINYINTSMALLINTMEDIUMINTINTBIGINT

浮点型:

FLOAT[(M,D)]M数字的总位数,D小数点后面的位数

DOUBLE[(M,D)]

日期时间型:

YEARTIMEDATEDATETIMETIMESTAMP(一般时间都用数字型表示)

字符型:

CHAR(M)定长,如果存入字符数不足M,用空格补足

VARCHAR(M)不定长

TINYTEXT

TEXT

MEDIUMTEXT

LONGTEXT

ENUM(‘value1’,’value2’,…)可供选择的,比如性别

SETENUM(‘value1’,’value2’,…)任意组合

操作数据表

1、登录mysql客户端:

mysql-uroot-proot-P3306-h127.0.0.1

用户名密码端口ip地址

2、》SHOWDATABASES;

//查看有哪些数据库

3、》USEtest;

//打开数据库名叫test

4、》CREATETABLE[IFNOTEXISTS]table_name(

Column_namedata_type,

);

CREATETABLEtb1(

UsenameVARCHAR(20),

AgeTINYINTUNSIGNED,

Salaryfloat(8,2)UNSIGNED

);

5、SHOWTABLES;

//查看数据表

SHOWTABLES[FROMdb_name];

6、SELECTDATABASE();

//查看当前在哪一个数据库下

7、SHOWCOLUMNSFROMtb_name//查看数据表结构

8、INSERT[INTO]tb_name[(col_name),..]VALUES(VAL,..);

//插入记录,col_name和val一一对应

9、SELECTecpr,…FROMta_name

例:

SELECT*FROMtb1;

空值与非空

NULL字段值可以为空

NOTNULL字段值禁止为空

例:

CREATETABLEStb2(

usernameVARCHAR(20)NOTNULL,

ageTINYINTUNSIGEDNULL

);

自动编号

自动编号(AUTO_INCREMENT),且必须与主键组合使用;

默认情况下,其实值为1,每次增量为1.

主键

主键(PRIMARYKEY)不一定和自动编号一起使用

主键约束

每张数据表只能存在一个主键

主键保证记录的唯一性

主键自动为NOTNULL

CREATETABLEtb3(

idTINYINTUNSIGEDAUTO_INCREMENTPRIMARYKEY,

唯一约束

唯一约束(UNIQUEKEY)

唯一约束可以保证记录的唯一性;

唯一约束的字段可以为空值(NULL);

每张数据表可以存在多个唯一约束。

CREATETABLEtb

idSMALLINTUNSIGEDAUTO_INCREMENTPRIMARYKEY,

usenameVARCHAR(20)NOTNULLUNIQUEKEY,

ageTINYINTUNSIGED)

;

默认约束

默认约束:

DEFAULT

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

CREATEtb(

idSMALLINTUNSIGEDAUTO_INCREMENTPRIMARYKEY.

sexENUM(‘1’,’2’,’3’)DEFAULT‘3’,

本节总结

数据类型:

字符型

整型

浮点型

日期时间型

数据表操作:

插入记录

查找记录

记录操作:

创建数据表

约束的使用

三、约束以及修改数据表

3.1外键约束的要求解析

3.1.1约束

1、约束保证数据的完整性和一致性;

2、约束分为表级约束和列级约束;

表级约束:

针对两个或两个以上的约束

列级约束:

只针对某一个字段的约束

3、约束类型包括:

NOTNULL(非空约束)

PRIMARYKEY(主键约束)

UNIQUEKEY(唯一约束)

DEFAULT(默认约束)

FOREIGNKEY(外键约束)

外键约束(FOREIGNKEY):

保持数据的一致性,完整性,实现一对一或一对多关系。

3.2外键约束要求

1、父表与子表必须使用相同的存储引擎,而且禁止使用临时表。

子表:

具有外键列的表

父表:

子表参照的表

2、数据表的存储引擎只能为InnoDB。

3、外键列与参照列必须具有相似的数据类型。

其中数字的长度或是否有符号必须相同;

而字符的长度可以不同。

外键列:

加过FOREIGN关键词的那一列

参照列:

外键列参照的那一列

4、外键列与参照列必须创建索引,如果外键列不存在索引的话,mysql将自动创建索引。

CREATETABLEprovinces(

idSMALLNTUNSIGEDNOTNULLAUTO_INCREMENTPRIMARYKEY,

pnameVARCHAR(20)NOTNULL,

CREATETABLEuseers(

pidSMALLINTUNSIGED,

FOREGINKEY(pid)REFERENCEprovinces(id)

3.3外键约束的参照操作

1、CASCADE:

从父表删除或更新且自动删除或更新子表中的匹配行;

2、SETNULL:

从父表删除或更新行,并设置子表中的外键列为NULL。

如果使用该选项,必须保证子表列没有指定NOTNULL;

3、RESTRICT:

拒绝对父表的删除和更新操作;

4、NOACTION:

标准SQL关键字,在MYSQL中和RESTRICT相同。

添加父表:

》CREATETABLEprovinces(

idSMALLINTUNSIGEDPRIMARTKEYAUTO_INCREMENT,

pnameVARCHAR(20)NOTNULL

添加子表带有CASCADE操作

》CREATETABLEuser1(

idSMALLINTUNSIGEDPRIMARYKEYAUTO_INCREMENT,

usenameVARCHAR(20)NOTNULL,

FOREIGNKEY(pid)REFERENCESprovinces(id)ONDELETECASCADE

在两张表中插记录,先在父表中插记录,

》INSERTprovinces(pname)VALUES(‘A’);

》INSERTprovinces(pname)VALUES(‘B’);

》INSERTprovinces(pname)VALUES(‘C’);

SELECT*FROMprovinces;

在子表中插入记录

INSERTuser1(usename,pid)VALUES(‘TOM’,3);

//表示省份对应的名称是C

从父表中删除记录

DELETEFROMprovincesWHEREid=3;

//附表中省份名称为C的那条记录不存在了,则在子表中pid=3的也全部删除了。

3.4表级约束与列级约束

只针对某一个字段的约束

列级约束既可以在列定义时声明,也可以列定义后声明;

表级约束只能在列定义后声明。

3.5修改数据表-添加、删除列

添加单列:

ALTERTABLEtbl_nameADD[COLUMN]col_namecolumn_definition[FIRST|AFTERcol_name]

添加多列

ALTERTABLEtbl_nameADD[COLUMN](col_namecolumn_definition,…)

删除列

ALTERTABLEtbl_nameDROP[COLUMN]col_name

删除多列:

ALTERTABLEtbl_nameDROP[COLUMN]col_name,DROP[COLUMN]col_name

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1