第一章 初始MySQL

文章目录

  • 第一章 初始MySQL
    • 1. 数据库(Database,简称DB)
    • 2. 数据库管理系统(Database Management System)
    • 3. 结构化查询语句SQL
    • 4.命令行操作数据库
      • 5.1 数值类型
      • 5.2 字符串类型
      • 5.3 日期和时间型数值类型
      • 5.4 NULL值
    • 6. 数据字段属性
    • 7. 数据字段注释
    • 8. 数据表的类型
    • 9. 设置数据表字符集
    • 10. 数据表

第一章 初始MySQL

第一章 初始MySQL

1. 数据库(Database,简称DB)

**概念:**长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”。

**作用:**保存、管理数据

数据库总览:

关系型数据库(SQL):MySQL、Oracle、SQL Server、SQLite、DB2

非关系型数据库(NOSQL):Redis、MongoDB

2. 数据库管理系统(Database Management System)

DBMS:数据管理软件,科学组织和存储数据、高效地获取和维护数据

MySQL简介

概念:是现流行的开源、免费的关系型数据库

特点:免费、开源数据库;小巧、功能齐全;使用便捷;可运行于Windows或Linux操作系统;可适用于中小型甚至大型网站应用

运行机制:

3. 结构化查询语句SQL

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

4.命令行操作数据库

  • 创建数据库 CREATE DATABASE hz;
  • 删除数据库 CREATE DATABASE hz;
  • 查看数据库SHOW DATABASES;
  • 使用数据库use hz;

规定数据库中该列存放的数据类型,分为数值类型字符串类型日期和时间型数值类型NULL值

表列类型设置:

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

5.1 数值类型

类型说明存储需求
tinyint非常小的数据1字节
int标准整数4字节
bigint较大的整数8字节
float单精度浮点数4字节
double双精度浮点数8字节
decimal字符串形式的浮点数decimal(m, d) m字节 保留d位小数

5.2 字符串类型

类型说明存储需求
varchar可变字符串变长度
text文本2的16次方–1字节

5.3 日期和时间型数值类型

类型说明
DATEYYYY-MM-DD
DATETIMEYY-MM-DD hh:mm:ss
TIMESTAMPYYYYMMDDhhmmss格式表示的时间戳

5.4 NULL值

理解为“没有值”或“未知值”,不要用NULL进行算术运算,结果仍为NULL

6. 数据字段属性

  • UNSIGNED

    无符号的,声明该数据列不允许负数

  • ZEROFILL

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

  • AUTO_INCREMENT

    自动增长的,每添加一条数据,自动在上一个记录数上加1

    通常用于设置主键,且为整数类型,可定义起始值和步长

  • NULL 和 NOT NULL

    默认为NULL,即没有插入该列的数值

    如果设置为NOT NULL,则该列必须有值

  • DEFAULT

    默认的,用于设置默认值

7. 数据字段注释

表列类型注释

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

MySQL注释:

#…… 单行注释

/……/ 多行注释

8. 数据表的类型

MySQL的数据表的类型:MyISAM、InnoDB 、HEAP、BOB、CSV等

常见的MyISAM与InnoDB类型:

名称MyISAMInnoDB
事务处理不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表空间大小较小较大,约2倍

使用MyISAM: 节约空间及相应速度

使用InnoDB: 安全性,事务处理及多用户操作数据表

设置数据表的类型

CREATE TABLE  表名(
	#省略一些代码
) ENGINE =  MyISAM

CREATE TABLE  表名(
	#省略一些代码
) ENGINE =  InnoDB

9. 设置数据表字符集

设定方法:

  • 创建时通过命令来设置

     CREATE TABLE  表名(
    	#省略一些代码
    )CHARSET  =  utf8;
    
  • 如无设定,则根据MySQL数据库配置文件my.ini

    character-set-sever = utf8

10. 数据表

存储位置:MySQL数据表以文件方式存放在磁盘中

创建表:

create table `student`(
`id` int,
`name` varchar(10)
);

删除表:drop table student;

修改表名:ALTER TABLE 旧表名 RENAME AS 新表名

添加字段:ALTER TABLE 表名 ADD 字段名 列类型 [ 属性 ]

修改字段:ALTER TABLE 表名 MODIFY 字段名 列类型 [ 属性 ]

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型 [ 属性 ]

删除字段:ALTER TABLE 表名 DROP 字段名

版权声明:如无特殊标注,文章均来自网络,本站编辑整理,转载时请以链接形式注明文章出处,请自行分辨。

本文链接:https://www.shbk5.com/dnsj/74159.html