mysql中组合外检,MySQL基础笔记

MySQL基础笔记

标签(空格分隔): 未分类

1 MySQL基础

1.1 MySQL安装

MSI安装/zip安装

1.2 MySQL配置

MySQL配置向导

MySQL server/bin/MySQLInstanceConfig.exe

MySQL目录结构

bin目录,存储可执行文件

data目录,存储数据文件

docs,文档

include目录,存储包含的头文件

lib目录,存储库文件

share目录,错误消息和字符集文件

MySQL的配置选项

修改编码方式

1.3 MySQL启动与停止

启动服务

命令行

net start mysql

1.4 登录与退出

mysql参数:

参数

描述

-D,--database=name

打开指定数据库

--delimiter=name

指定分隔符

-h,--host=name

服务器名称

-p,--password[=name]

密码

-P,--port=#

端口号

--prompt=name

设置提示符

-u,--user=name

用户名

-V,--version

输出版本信息并退出

退出命令:exit,quit,\q

1.5 修改提示符

连接客户端时,通过--prompt 提示符修改

连接上客户端后,通过prompt 提示符命令修改

参数

描述

\D

完整的日期

\d

当前数据库

\h

服务器名称

\u

当前用户

1.6 常用命令及语法规范

SELECT VERSION();

SELECT NOW();

SELECT USER();

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

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

SQL语句必须以分号结尾

1.7 操作数据库

创建数据库

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name

花括号必选,竖线选择,中括号可选

查看当前服务器下的数据库

SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE expr]

修改数据库

ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name

删除数据库

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

2 数据类型与数据表操作

2.1 数据类型

2.1.1 整型

数据类型

存储范围

字节

TINYINT

$-2^7到2^7-1或0到2^7-1$

1

SMALLINT

$-2^{15}到2^{15}-1或0到2^{16}$

2

MEDIUMINT

$-2^{23}到2^{23}-1或0到2^{24}-1$

3

INT

$-2^{23}到2^{31}-1或0到2^{32}-1$

4

BIGINT

$-2^{63}到2^{63}-1或0到2^{64}-1$

8

2.1.2 浮点型

数据类型

存储范围

FLOAT[(M,D)]

M是数字总位数,D是小数点后的位数。38次数量级

DOUBLE[(M,D)]

308次数量级

2.2 数据表

2.2.1 创建数据表

打开数据库

USE 数据库名称;

创建数据表

CREATE TABLE [IF NOT EXISTS] table_name (

column_name data_type,

...

)

2.2.2 查看数据表

SHOW TABLES [FROM db_name]

[LIKE 'pattern' | WHERE expr]

查看数据表结构

SHOW COLUMNS FROM tbl_name

2.2.3 记录的插入与查找

插入记录

INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...)

查找

SELECT expr,... FROM tbl_name

2.2.4 空值与非空

NULL 字段值可以为空

NOT NULL 字段值禁止为空

2.2.5 自动编号

AUTO_INCREMENT

自动编号,且必须与主键组合使用

默认情况下,起始值为1,增量为1

主键约束,每张表只能存在一个主键,主键保证记录的唯一性,主键自动为NOT NULL

2.2.6 初涉唯一约束

UNIQUE KEY

唯一约束的字段可以为空值,每张数据表可以存在多个唯一约束

2.2.7 初涉默认约束

默认值

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

3 约束以及修改数据表

3.1 外键约束的要求解析

3.1.1 约束:

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

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

约束类型包括: `NOT NULL`非空约束

`PRIMARY KEY`主键

`UNIQUE KEY`唯一约束

`DEFAULT`默认约束

`FOREIGN KEY`外键约束

3.1.2 外键约束FOREIGN KEY

保证数据一致性、完整性

实现一对一或一对多关系

外键约束的要求:

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

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

外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。

外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。

编辑数据表的默认存储引擎

MySQL配置文件my.ini

default-storage-engine=INNODB

3.2 外键约束的参照操作

外检约束的参照操作

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

SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL;

RESTRICT:拒绝对父表的删除或更新操作;

NO ACTION:标准SQL关键字,在MySQL中与RESTRICT相同。

表级约束与列级约束

对一个数据列建立的约束,称为列级约束。

对多个数据列建立的约束,称为表级约束。

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

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

3.3 修改数据表

3.3.1 添加/删除列

添加单列

ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST |AFTER col_name]

删除列

ALTER TABLE tbl_name DROP [COLUMN] col_name

3.3.2 添加约束

添加主键约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)

添加唯一约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)

添加外键约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition

添加/删除默认约束

ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}

3.3.3 删除约束

删除主键约束

ALTER TABLE tbl_name DROP PRIMARY KEY

删除唯一约束

ALTER TABLE tbl_name DROP {INDEX|KEY} index_name;

删除外键约束

ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol

3.3.4 修改列定义和更名数据表

修改列定义

ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name}

修改列名称

ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]

数据表更名

方法一

ALTER TABLE tbl_name RENAME[TO|AS] new_tbl_name

方法二

RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2]...

4 操作数据表中的记录

4.1 INSERT语句

插入记录

INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值