mysql初学笔记(未完)

数据库简介

什么是数据库

数据库(Database,DB)就是存放数据的仓库,为了实现一定目的,按照某种规则组织起来的数据的集合。当然数据有多种形式,如文字、数码、符号、图形、声音等。从广义的角度上定义,计算机中任何可以保存数据的文件或者系统我们都可以称之为数据库,如一个Word文件等。

常见数据库

Oracle :甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
SQL Server:Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。
MySQL:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

我们详细了解一下MySQL相对于其他数据库的优势:

运行速度快: MySQL体积小,命令执行的速度快
使用成本低: MySQL是开源的,且提供免费版本,对大多数用户来说大大降低了使用成本
容易使用: 与其他大型数据库的设置和管理相比,其复杂程度较低,易于使用
可移植性强: MySQL能够运行于多种系统平台上,如Windows、Linux、UNIX等
使用更多用户: MySQL支持最常用的数据管理功能,适用于中小企业甚至大型网站应用

实体和数据库表

实体: 实体指的是数据库表中的一行数据
数据库表: 一个特定集合中所有实体的集合
数据库: 保存所有数据库表的集合称为数据库

主键和外键

主键

主键:一列的值用来唯一标识表中的每一行,用于强制表的实体完整性

注意:
一个表只能有一个主键,并且主键列不允许出现空值(NULL),尽管有的表中允许没有主键,但是通常情况下建议为表设置主键。

复合主键:如果两列或多列组合起来唯一的标识表中的每一行,则该主键也叫做复合主键

选择主键的原则:
1. 最少性
2. 稳定性

外键

外键:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。

mysql安装

mysql安装调试及配置可查看链接:https://blog.csdn.net/hetongun/article/details/77367638

当然也可以借助可视化工具操作数据库

什么是SQL

SQL全称是:结构化查询语言(Structured Query Language),是关系数据库的标准语言

SQL的组成

DML(Data Manipulation Language,数据操作语言,也称为数据操纵语言):用来插入、修改和删除数据库中的数据,如INSERT UPDATE DELETE等
DDL(Data Definition Language,数据定义语言):用来建立数据库、数据库对象和定义其列,大部分是以CREATE开头的命令,如CREATE TABLE“CREATE VIEW以及DROP TABLE等
DQL(Data Query Language,数据库查询语言):用来对数据库中的数据进行查询,如SELECT等
DCL(Data Control Language,数据控制语言):用来控制数据库组件的存取许可、存取权限等,如GRANT和REVOKE等

SQL中的运算符

算术运算符:+ - * / %这五个与Java是同样的意思和用法
赋值运算符:=同样与Java意思用法相同
比较运算符:> < >= <= !=(不等于,非SQL-92标准)与Java用法相同,除此之外=表示等于,<>表示不等于
**逻辑运算符:**AND OR NOT:分别相当于Java的&& || !

例如
(性别 = ‘男’) AND (年龄>=18 AND 年龄<=45)

使用DDL语句操作数据库

创建数据库
语法:
CREATE DATABASE 数据库名;

选择数据库
语法:
use 数据库名;

创建数据库表
语法:
CREATE TABLE 数据库表名;

查看数据库名和数据库表名
语法:
SHOW DATABASES;

SHOW TABLE;

查看数据库表结构
语法:
DESCRIBE 数据库表名;

删除数据库或表
语法:
DROP DATABASE 数据库名;
或者
DROP TABLE 数据库表名;

修改表

修改表名
语法:
ALTER TABLE <旧表名> RENAME <新表名>;

添加字段
语法:
ALTER TABLE 表名 ADD 字段名 数据类型 [属性];

修改字段
语法:
ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];

删除字段
语法:
ALTER TABLE 表名 DROP 字段名;

添加主键约束
语法:
ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(字段名);

添加外键约束
语法:
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键字段) REFERENCES 关联表名 (关联字段);

数据类型

1.值类型
MySQL支持所有标准SQL数值数据类型。
这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。
作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。
这里写图片描述
2.日期类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个”零”值,当指定不合法的MySQL不能表示的值时使用”零”值。
TIMESTAMP类型有专有的自动更新特性,将在后面描述。
这里写图片描述
3.字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。
CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。
BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。
有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。
这里写图片描述

数据库表操作

常用约束如下
这里写图片描述
主键可以是单字段的,也可以是多字段的

1.单字段主键
在定义字段的同时定义主键,语法如下:
例如:
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型 PRIMARY KEY;
……
);

在定义完所有字段之后定义主键,语法如下:
例如:
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型,
……
[CONSTRAINT<约束名>] PRIMARY KEY[列名]
);

2.多字段联合主键
主键由多字段组成,语法如下:
例如:
CREATE TABLE [IF NOT EXISTS] 表名(
……
PRIMARY KEY [字段1,字段2……]
);

注释
在创建表的同时可以为表或字段添加说明性的文字,即注释。
注释是使用COMMENT关键字来添加的。
例如:
CREATE TABLE test(
id INT(11) UNSIGNED COMMENT 编号
)COMMENT=’测试表’;

编码格式
一般使用utf8格式 ,在创建数据库表时 使用CREATE赋值使用的编码格式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值