当前位置:   article > 正文

MySQL数据库管理系统学习笔记(更新版)_如果要在数据表中正确地显示中文,必须将( )设置为utf8。

如果要在数据表中正确地显示中文,必须将( )设置为utf8。

MySQL数据库管理系统学习笔记(定期更新版)


#通过对MySQL数据库技术的学习来学习SQL语言。

MySQL概述

关系型数据库管理系统-RDBMS

MySQL是一个关系型数据库管理系统软件,在WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System), 关系数据库管理系统 应用软件,它是由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品,MySQL是最流行的关系数据库管理系统中的一个.

Mysql的特点

1.MySQL是开源的,所以你不需要支付额外的费用。
2.MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。 3.MySQL使用标准的SQL数据语言形式。
4.MySQL可以安装在不同的操作系统,并且提供多种编程语言的操作接口。这些编程语言包括 C、C++、Python、Java、Ruby、PHP等。


第一部分:软件的下载与配置

一,MySQL的下载

  1. 1.打开 MySQL官网!

在这里插入图片描述

2.点击开发人员专区

专区 3.点击 Downloads 下载

4.选择MySQL install for windows,并选择自己喜欢的版本根据自己的喜好配置部署MySQL的安装!

二.安装失败后如何处理

  • 点击控制面板→卸载程序,卸载掉所有相关的MySQL软件
  • 删除安装目录下C:\Program Files的 MySQL文件夹
  • 删除目录下C:\ProgramData的MySQL文件夹
  • 删除注册中“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application”下的MySQL文件夹
tip:注册表可以在搜索框中查找

三,配置My.ini文件

  在C:\ProgramData\MySQL的目录下有My.ini的配置文件
  使用MySQL前有四个重要的配置需要我们亲自配置

  1. port客户端和服务端的端口号
    默认的端口号为3306
  2. 客户端字符集 default-character-set
    SQL 如果要在数据表中正确地显示中文,必须将其设置为UTF8
  3. 服务器端字符集 character-set-server
    如果要在数据表中正确地显示中文,必须将其设置为UTF8。
  4. default-storage-engine
    默认的存储引擎为InnoDB。

TIP

在配置My.ini文件时要注意两点:
1.要先禁用SQL服务再配置文件。
2.配置完成后重启系统,再开启SQL服务,配置生效。

第二部分:数据模型

数据模型是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,描述的内容有数据结构、数据操作和数据约束。

主要数据模型说明如下:

1.E-R模型

E-R模型又称为E-R图,即实体-联系图,它提供了表示实体,属性,和联系的方法,用来描述现实世界的概念模型。
通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性并用直线把实体(或关系)与其属性连接起来。
实体间联系有“一对一(1:1)” “一对多(1:n)”和“多对多(m:n)”。

2.层次模型

利用树形结构表示实体及其之间联系,其中结点是实体,树枝是联系,从上到下是一对多关系。

3.网状模型

用网状结构表示实体及其之间联系,是层次模型的扩展。网络模型以记录型为结点,反映现实中较为复杂的事物联系。

4.关系模型

采用二维表(由表框架和表的元组组成)来表示,可进行数据查询、增加、删除及修改操作。关系模型允许定义“实体完整性”“参照完整性”和“用户定义的完整性”三种约束。

二维表中的基本用语如下:



(1)关系:一个关系对应一个二维表,二维表就是关系名。

(2)属性:二维表中的列,称为属性;列的值称为属性值。

(3)元组:二维表中的一行,称为一个元组。

(4)候选码:二维表中唯一能标识元组的最小属性集。

(5)主键:被选取的一个使用的键。


关系模型的基本操作:可以用来对数据进行查询、删除、插入、修改等操作。

第三部分、数据库的创建

一,创建数据库

1.什么是数据库?

数据库(Database,简称DB):是按照一定的数据结构来组织、存放和管理数据的仓库。
创建数据库术语:
在这里插入图片描述

Ⅰ.创建数据库SQL语句:

语句: CREATE DATABASE [IF NOT EXISTS]   database_name   [[DEFAULT]CHARACTER set charset_name]  [[DEFAULT] COLLATE collation_name];
说名: database_name : 创建的数据库名。
IF NOT EXISTS : 在创建数据库前加上 一个判断,只有该数据库目前尚不存 在时才执行CREATE DATABASE操作。
(1) 如果指定CHARACTER SET charset_name和COLLATE collation_name,那么采用字符集charset_name和校对规则collation_name。
(2) 如果指定了CHARACTER SET charset_name而没有指定COLLATE collation_name,那么采用CHARACTER SET charset_name和COLLATE collation_name的默认校对规则。
(3) 如果CHARACTER SET charset_name和COLLATE collation_name都没有指定,那么采用服务器字符集和校对规则。

Ⅱ.查看数据库

显示数据库语句:
SHOW DATABASES;
显示所有数据库的创建语句:
SHOW CREATE DATABASE database_name;

查看当前所选的数据库
SELECT DATABASE();

Ⅲ.选择数据库

USE database_name;

Ⅳ.删除数据库

DORP DATABASE dabatase_name;

Ⅴ.修改数据库

若想修改数据库的编码,可以使用ALTER DATABASE语句实现,具体语法格式如下。

ALTER DATABASE database_name[ DEFAULT] CHARACTER
SET character_name COLLATE collation_name;

这里database_name是要修改的数据库名;
character_name是修改的字符集的名称;
collation_name是修改的校对规则。
字符集的名称、校对规则与新建数椐库时的字符集和校对规则相同,这里就不再说明了。


2.具体操作

方法一:使用cmd命令行进入MySQL管理工具。
1.打开cmd命令版
2.输入 net start MySQL##启动mysql服务 (不成功时需要使用管理员模式打开)
在这里插入图片描述

3.输入 MySQL (-h 主机IP)-u 用户名 -p ;[Enter] 输入密码
在这里插入图片描述
4.练习上面那四个语句(此处以student_name为例)
在这里插入图片描述
方法二、直接使用MySQL命令行。
1.输入密码进入自己的MySQL数据库管理系统。
2.重复上面的操作即可。

方法三、使用图形管理工具来管理自己的数据库。(以MySQL Workbench 8.0 CE版为例)
1.打开工具并选择自己的MySQL,输入密码进入。
在这里插入图片描述
2.在SCHEMAS中单击右键选择Creat Schema
或者可以在qpp中使用命令来创建。

在这里插入图片描述

二、创建数据库表

1.数据类型

在这里插入图片描述

①.整数类型
在这里插入图片描述


②.小数类型

在这里插入图片描述
在这里插入图片描述

③.时间日期型
在这里插入图片描述

④.字符串类型
在这里插入图片描述在这里插入图片描述

⑤.二进制类型
在这里插入图片描述
在这里插入图片描述

⑥.复合型
在这里插入图片描述


1.在符合应用要求(取值范围、精度)的前提下,尽量在符合应用要求
的前提下,使用“短”数据类型。
2.一些数字类型的字段,如学号、电话号码,设置成字符串类型:如果
需要设置成自增,则设置成整型,如ID。
3.在MySQL中,日期型默认宽度为8,日期时间型默认为14,不需要自己去定义宽度。
4.尽量采用精确小数类型(例如decimal),而不采用浮点数类型。


总结:

在这里插入图片描述


2.数据表的基本概念

数据表是MySQL数据库对象,在数据表中,数据以行和列的形式存储在规范化的二维表格中。MySQL数据表主要由行和列构成。表类似于电子表格软件的工作表,但更规范。Mysql中的每个表都有一个名字,以标识该表。

(1) 表结构:每个数据库包含了若干个表。每个表具有一定的结构,称为“表型”。所谓表型是指组成表的名称及数据类型.也就是日常表格的“栏目信息”。
(2)表:表是由定义的列数和可变的行数组成的逻辑结构。
(3)列:用来保存对象的某一类属件。每列又称为一个宇段,每列的标题称为宇段名。
(4)行:用来保存一条记录,是数据对象的一个实例,包括若干信息项。
(5)记录:每个表包含了若干行数据,它们是表的“值”,表中的一行称为一个记录,每一行都是实体的一个完整描述。
(6)字段:每个记录由若干个数据项构成,将构成记录的每个数据项称为字段。
(7)关键字:学号字段的值对表中所有记录来说一定不同,学号是关键字,也就是说通过“学号”字段可以将表中的不同记录区分开来。

3.数据库表的创建

字段命名规范

在这里插入图片描述创建数据表术语
在这里插入图片描述
Ⅰ.创建数据表SQL语句:

CREATE TABLE [IF NOT EXISTS] table_name(
col_name1 data_type1,
col_name1 data_type2,
·
·
·
col_name n data_type n)

Ⅱ.查看表结构语句:
DESCRIBE table_name;

Ⅲ.查看所有数据表:
SHOW TABLES;

Ⅳ.复制表结构:
CREATE TABLE table_name1 LIKE db_name table_name2;
说明 : 如果是复制其他数据库的表结构,在table_name2前加上数据库的名称; 例 : 将数据库db_library中的reader表结构复制到 当前数据库,命名为表结构 t_readerr;
CREATE TABLE t_reader LIKE db_library.reader;

Ⅴ.删除表
DROP table table_name;

4.修改数据表

  • 修改表名:
    ALTER TABLE old_table_name RENAME new_table_name;
  • 增加字段:
    ALTER TABLE table_name col_name1 data_type1[FIRSE|ALTER col_name2];
    举例:在reader中添加一个字段reader_address; ALTER TABLE student ADD reader_address end IARCHAR(100);
  • 删除字段:
    ALTER TABLE table_name DROP col_name;
  • 修改数据的数据类型:
    ALTER TABLE table_name MODIFY col_name1 data_type
  • 修改字段的名称:
    ALTER TABLE table_name CHANGE old_col_name new_col_name date_type;
  • 修改字段的顺序
    ALTER TABLE table_name MODIFY col_name1 data_type FIRST|AFTER col_name2

    举例:将字段名“address”添加到字段名reader_telephone之后
    ALTER TABLE reader MODIFY address VARCHAR(100) AFTER reader_telephone;

总结:
在这里插入图片描述

"席"语

在这里插入图片描述


三、数据表的约束

1.MySQL字段约束

约束参数说明
primary key主键约束
not null非空约束
unipue kye唯一约束
auto_increment自增约束
default默认约束
foreign key外键约束

2.约束表的创建与设置

主键与外键的设置
关键字

在这里插入图片描述

单字段主键

①.创建新表时设置
CREATE TABLE table_name(col_name data_type PRIMARY KEY,……);

②.为已存在的表设置主键
ALTER TABLE table_name ADD [CONSTRAINT constraint_name]ORIMARY(col_name);

[CONSTRAINT constraint_name]是给主键加上一个约束的名字,如果不加会默认给主键加一个约束的名字(设置主键时建议最好不加主键的名字)

③.删除主键
ALTER TABLE table_name DROP PRIMARY KEY;

多字段主键

①.创建新表时设置
CREAT TABLE table_name(col_name data_type,……
[CINSTRAINT constraint_name]PRIMARY KEY(col_name1,col_name2……));

②.为已存在的表设置主键
ALTER TABLE table_name ADD [CONSTRAINT constraint_name]PRIMARY KEY(col_name1,col_name2……);

外键

外键不能单独设置,只有当设置了主键之后才能设置外键,外键必须参照另一个表的主键

①.创建新表时设置
CREATE TABLE table_name

col_name data_type,
……
(CONSTRAINT constraint_name] FOREIGN KEY(col_name1) REFERENCES table_name(col_name2) );

(col_name1) 设置外键字段的名称
(col_name2) 另一个表的主键字段

设置外键时最好加上约束的名字

②.为已存在的表设置外键
ALTER TABLE table_name1 ADD [CONSTRAINT constraint_name] FOREIGN KEY(col_namel) REFERENCES table_name2(col_name2)

③.删除外键:一定要加上约束的名称
ALTER TABLE table_name1 DROP FOREIGN KEY constraint_name

删除外键注意事项

如果没有设置外键的名称,系统则会自动加上一个外键的名称,可以用命令进行查看,然后删除 : Show create table table name ;

如果要彻底删除外键,应删除一个在建立外键时自动创建的索引,如果没有定义约束的名称,一般是外健设置时的字段名;如果定义了约束的名称,索引一般是约束的名称; 也可以用命令进行查看 : Show indexes from table_name;

非空与默认值的设置

①.创建新表时设置
CREAT TABLE table_name
(
col_name data_type NOT NULL|DEFAULT ……
);
②.为已存在的表设置非空默认值
ALTER TABLE table_name MODIFY col_name
data_typr NOT NULL|DEFAULT;

唯一键与自增的设置

①.创建新表时设置
CREAT TABLE table_name
(
col_name data_type UNIPUE|AUTO_INCREMRNT,……
);

②.为已存在的表设置非空默认值
ALTER TABLE table_name MODDIFY col_name date_type UNIQUE|AUTO_INCREMENT;

③.删除唯一健
ALTER TABLE table_name DROP INDEX index_name;

索引一般是设置唯一约束的字段名

设置自增的注意事项

  1. 必须是整数类型才可以设置 AUTO_INCRREMNET
  2. 必须线定义为一个健(主键或唯一键)才可以设置AUTO_INCREMENT
  3. 可以用ALTER TABLE table_name AUTO_INCREMENT=default_value为字段设置自增的初始值
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/707014
推荐阅读
相关标签
  

闽ICP备14008679号