[关闭]
@wangyupu 2020-08-03T06:52:11.000000Z 字数 3845 阅读 23

数据库MYSQL第一章初始mysql

mysql


什么是数据库

  1. 数据库(Database,简称DB)
  2. 概念长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库"
  3. 作用
  4. 保存、管理数据

数据库总览(简单了解数据库)

  1. 数据表与自身进行连接
  2. ■从一个包含栏目ID,栏目名称和父栏目ID的表中,查询
  3. 示例
  4. 父栏目名称和其子栏目名称,表结构如下:
  5. #表结构语句
  6. CREATE TABLE IF NOT EXISTS category(
  7. categoryld int(10) auto_ increment primary key,
  8. categoryName varchar(32) not null
  9. pid int(10)
  10. );
  11. 关系型数据库(SQL)
  12. MySQLOracle SQL ServerSQLite DB2
  13. 非关系型数据库(NOSQL)
  14. Redis MongoDB

什么是DBMS?

  1. 数据库管理系统(Database Management System'数据管理软件,科学组织和存储数据、高效地获取和维护数据

MySQL简介

  1. ##概念
  2. 是现流行的开源、免费的关系型数据库
  3. ##特点
  4. 免费、开源数据库
  5. 小巧、功能齐全
  6. 使用便捷
  7. 可运行于WindowsLinux操作系统
  8. 可适用于中小型甚至大型网站应用

在Windows操作系统下安装2-1

  1. 端口号3306 记好自己的端口号忘了也没

如何连接数据库

  1. 连接数据库
  2. 打开MySQL命令窗口
  3. DOS命令行窗口(cmd.exe)
  4. 在窗口中进入安装目录\mysgl\bin
  5. 可设置环境变量
  6. 连接数据库语句
  7. mysql -h服务器主机地址-u用户名-p用户密码

结构化查询语句SQL

结构化查询语句分类

名称 解释 命令
DDL(数据定义语言) 定义和管理数据对象,如数据库,数据表等, CREATE、DROP、ALTER
DML(数据操作语言) 用于操作数据库对象中所包含的数据 INSERT、UPDATE、DELETE
DQL(数据查询语言) 用于查询数据库数据 SELECT
DCL(数据控制语言) 用来管理数据库的语言,包括管理权限及数据更改 GRANT、COMMIT、ROLLBACK

命令行操作数据库

  1. 创建数据库
  2. CREATE DATABASE[IF NOTEXISTS]数据库名;
  3. 删除数据库
  4. DROP DTABAE m DITT教据库名;
  5. 查看数据库
  6. SHOW DATABASES;
  7. 使用数据库
  8. USE数据库名;
  9. 创建数据表
  10. 属于DDL的一种
  1. CRAETE TABLE[if NOT existe] '表名'(
  2. `字段名1` 列类型[属性][索引][注释],
  3. `字段名2` 列类型[属性][索引][注释],
  4. ·······
  5. `字段名n`列类型[属性][注释]
  6. )[表类型][表字符集][注释];

列类型

表列类型设置

  1. CREATE TABLE [ IF NOT EXISTS]`表名` (
  2. 语法
  3. `字段名1`列类型[ 属性] [索引] [注释],
  4. `字段名2`列类型[属性] [索引] [注释],
  5. ... ...
  6. `字段名n`列类型[属性] [ 索引] [注释]
  7. )[表类型][表字符集] [注释];

数据值和列类型

列类型

  1. 规定数据库中该列存放的数据类型
  2. 分为
  3. 数值类型.
  4. 字符串类型
  5. 日期和时间型数值类型
  6. NULL

列类型分类4-1

数值类型

类型 说明 取值范围 存储需求
tinyint 非常小的数据 有符值: -27~27-1无符号值: 0~ 28.1 1字节
smallint 较小的数据有符值: -215 ~ 215-1无符号值:0~ 216-1 2字节
mediumint 中等大小的数据有符值:-223 ~ 23-1无符号值:0~ 224-.1 3字节
int 标准整数 有符值: -231 ~ 231-1无符号值: 0~ 232.1 4字节
bigint 较大的整数 有符值: -263 ~263_1无符号值: 0 ~264-1 8字节
float 单精度浮点数 +1.1754351e -38 4字节
double 双精度浮点数 +2.2250738585072014e -308 8字节
decimal 字符串形式的浮点数 decimal(mn, d) m个字节

列类型分类4-2

字符串类型

类型 说明 最大长度
char[(M)] 固定长字符串,检索快但费空间,0<= M <=255 M字符
varchar[(M)] 可变字符串0<= M <= 65535 变长度
tinytext 微型文本串 28 1字节
text 文本串 216 -1字节

列类型分类4-3

日期和时间型数值类型

类型 说明 取值范围
DATE YYYY-MM-DD,日期格式 1000-01-01~ 9999-12-31
TIME Hh:mm:ss,时间格式 -838:59:59~838:59:59
DATETIME YY-MM-DD hh:mm:ss 1000-01-01 00:00:00至9999-12-31 23:59:59
TIMESTAMP YYYYMMDDhhmmss格式表示的时间戳 19701 0101000000~2037年的某个时刻
YEAR YYYY格式的年份值 1901~2155

NULL值

  1. 理解为“没有值”或“未知值”
  2. 不要用NULL进行算术运算,结果仍为NULL
  3. 选择数据类型
  4. 整数和浮点
  5. 日期类型
  6. charvarchar

数据字段属性
表列类型设置

  1. CREATE TABLE [IF NOT EXISTS]表名(
  2. 语法.
  3. `字段名1`列类型[属性][索引][注释],
  4. `字段名2`列类型[属性] [索引] [注释] ,
  5. .. ..
  6. `字段名n`列类型[属性] [索引] [注释]
  7. ) [表类型][表字符集] [注释];

UNSIGNED

  1. 无符号的.
  2. 声明该数据列不允许负数

ZEROFILL

  1. 0填充的
  2. 不足位数的用0来填充,如int(3),5则为005

AUTO INCREMENT

  1. 自动增长的,每添加-条数据,自动在上一个记录数上加1通常用于设置主键, 且为整数类型
  2. 可定义起始值和步长

NULL和NOT NULL

  1. 默认为NULL,即没有插入该列的数值
  2. 如果设置为NOT NULL,则该列必须有值

DEFAULT

  1. 默认的
  2. 用于设置默认值
  3. 例如,性别字段,默认为"男”,
  4. 否则为“女”;若无指
  5. 定该列的值,则默认为“男” 的值

数据字段注释

  1. CREATE TABLE [ IF NOT EXISTS ] `test` (
  2. `id` int (11) UNSIGNED COMMENT ‘编码号’
  3. )COMMENT=‘测试表’;

数据表的类型3-1

表列类型设置

  1. CREATE TABLE [IF NOT EXISTS] `表名`(
  2. `字段名1` 列类型[属性][索引][注释],
  3. `字段名2` 列类型[属性] [索引] [注释],
  4. `字段名n` 列类型[属性][索引][注释]
  5. ) [表类型][表字符集][注释];
  1. CREATE TABLE表名(
  2. #省略一-些代码
  3. ) ENGINE = InnoDB

设置数据表字符集

表列类型设置

  1. CREATE TABLE [IF NOT EXISTS]`表名`(
  2. `字段名1`列类型[属性][索引][注释],
  3. `字段名2`列类型[属性][索引][注释],
  4. .. ..
  5. `字段名n`列类型[属性][索引][注释]
  6. ) [表类型][表字符集] [注释];

设置数据表字符集

  1. 可为数据库、数据表、数据列设定不同的字符集
  2. 设定方法
  3. 创建时通过命令来设置,如
  4. CREATE TABLE表名(
  5. #省略一些代码
  6. )CHARSET = utf8;
  7. 如无设定, 则根据MySQL数据库配置文件my.ini
  8. (Windows系统)中的参数设定
  9. 如: character-set-sever = utf8

创建表

  1. 外键管理
  2. 外键作用
  3. 创建外键
  4. 建表时指定外键约束
  5. 建表后修改
  6. 删除外键
  7. 删除外键、删除表
  8. 索引
  9. CREATE TABLE [IF NOT EXISTS] `表名 `(
  10. `字段名1`列类型 [属性] [索引][注释],
  11. `字段名2`列类型[属性] [索引] [注释],
  12. ... ...
  13. `字段名n`列类型[属性][索引][注释]
  14. )[表类型][表字符集][注释];
  15. 实例
  16. CREATE TABLE `Student`(
  17. `s_id` VARCHAR(20),
  18. `s_name` VARCHAR(20) NOT NULL DEFAULT '',
  19. `s_birth` VARCHAR(20) NOT NULL DEFAULT '',
  20. `s_sex` VARCHAR(10) NOT NULL DEFAULT '',
  21. PRIMARY KEY(`s_id`)
  22. );

MySQL数据表以文件方式存放在磁盘中

  1. 包括表文件、数据文件以及数据库的选项文件
  2. 位置: MySQL安装目录\data下存放数据表。目录名对
  3. 应数据库名,该目录下文件名对应数据表

修改数据表

  1. 修改表(ALTER TABLE)
  2. 修改表名
  3. 语法
  4. ALTER TABLE旧表名RENAME AS新表名
  5. 添加字段
  6. ALTER TABLE表名ADD 字段名列类型[属性]|
  7. 修改字段
  8. ALTER TABLE表名MODIFY 字段名列类型[属性]
  9. ALTER TABLE表名CHANGE 旧字段名新字段名列类型[属性]
  10. 删除字段
  11. ALTER TABLE表名DROP 字段名

删除数据表

  1. DROP TABLE [IF EXISTS]
  2. 表名
  3. IF EXISTS为可选,判断是否存在该数据表
  4. 如删除不存在的数据表会抛出错误

卸载MYSQL

  1. 在:我的电脑→管理→服务→找到mysql并停止
  2. 开始菜单→控制面板→程序和功能
  3. 位置:删除 C盘→programData->mysql文件夹,programData文件夹为隐藏文件夹//这一步很重要
  4. 打开注册表:regedit
  5. 删除HKEY_LOCAL_MACHIN->ControlSet001->SYSTEM-> service->MySQL;
  6. 删除HKEY_LOCAL_MACHINE->ControlSet002-> SYSTEM-> services->MySQL;
  7. 删除HKEY_LOCAL_MACHINE->CurrentControlSet-> SYSTEM-> services->MySQL
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注