MySQL

本文围绕MySQL数据库展开,介绍了数据库概念,包括关系型和非关系型数据库。详细阐述了数据库和数据表的创建、修改方法,说明了数据类型。还讲解了数据管理操作,如插入、删除、查询,以及视图的建立,是一篇全面的MySQL数据库操作指南。

MySQL是最流行的、开源的关系型数据库管理系统,有瑞典MySQL AB公司开发,在WEB 应用方面MySQL是最好的RDBMS(Relational   Database Management  System:关系数据库管理系统)

数据库

数据库( DataBase  , DB

是长期存储在计算机中,按照数据结构有组织,可共享的大量数据资源的集合,是一个数据的仓库;

每个数据库都有一个或多个不同的API用于创建、访问、管理、搜索、和复制所保存的数据;

使用关系型数据库管理系统(RDBMS)来存储和管理的大量数据。所谓关系型数据库,是建立在关系模型的基础上的数据库,是借助于集合代数等高等数学概念和方法来处理数据库中的数据;

RDBMS的特点:

  1. 数据以表格的形式出现
  2. 每行为各种记录名称
  3. 每行为记录名称所对应的数据域
  4. 许多的行和列组成一张表单
  5. 若干的表单组成database
关系型数据库(SQL)
  1. MySQL、Oracle、SQL Server、SQLite、DB2、Access等
  2. 关系数据库库是通过外键关联来建立表与表之间的联系
非关系型数据库(NoSQL  :   Not Only SQL)

NoSQL意为不仅仅是SQL(Structured QueryLanguage,结构化查询语言)

NoSQL最初是在 1998年,由Carlo Storzzi最早开发的个轻量、开源、不兼容SQL 功能的关系型数据库

NoSQL描述的是大量结构化数据存储方法的集合,根据结构化方法以及应用场合的不同,主要可以将NoSQL分为以下几类。

  1. Column-Oriented
  2. Key-Value。
  3. Document-Oriented。

数据库的创建

创建数据库:CREATE DATABASE  `  数据库名  `  ;

删除数据库:DROP DATABASE   ` 数据库名 ` ;

刷新数据库:SHOW DATABASES  ;

使用数据库:USE  ` 数据库名 ` ;

数据表的创建

创建数据表需要:

  1. 表名
  2. 表字段名
  3. 定义每个表字段
1 create  table  `表名`(
2 `字段名`   列类型   [属性]  [索引]  [注释] ,
3 `字段名`   列类型   [属性]  [索引]  [注释] ,
4 `字段名`   列类型   [属性]  [索引]  [注释] ,
5 ............
6 `字段名`   列类型   [属性]  [索引]  [注释] ,
7 )[表类型][表字符集][注释];

实例

创建一个学生的个人信息,学生表(列,字段)

在建表之前一定要先确立数据库

 1 CREATE DATABASE `students`;
 2 
 3 CREATE TABLE `students`.`student`( 
 4   `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
 5   `sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
 6   `birthday` DATETIME DEFAULT NULL COMMENT '生日',
 7   `address` VARCHAR(100) DEFAULT NULL COMMENT '地址',
 8   `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
 9 PRIMARY KEY (`name`) ) 
10 ENGINE=INNODB 
11 CHARSET=utf8 COLLATE=utf8_general_ci; 

使用命令行操作数据库:

删除数据表:drop table `表名`;

删除表内数据(不保存表结构):delete    from  `表名`  where   删除条件;

清除表内数据(保存表结构):用  truncate  :truncate  table  `表名`;

修改数据表

修改表名ALTER TABLE 旧表名 RENAME AS 新表名
添加字段ALTER TABLE 表名 ADD 字段名 列属性 [属性]
修改字段

ALTER TABLE 表名 MODIFY 字段名 列属性[属性]

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

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

 

 

 

 

 

 

数据类型

数据类型中包含数值类型、字符串类型、日期和时间类型、字符串类型;

  • 数值类型

MySQL中支持所有的标准的数值数据类型

BIT数据类型保存为字段值,并且支持MyISAM、MEMORY、InnoDB、和BDB表。

  • 日期和时间类型

表示时间值的日期和时间类型为DataTime、Date、TimeStamp、Time和Year。

每个时间类型都有一个有效值范围和一个“零”值,当指定不合法的MySQL不能表示的值时使用“零”值;

数据库查询

结构化查询语句分类
名称解释命令
DDL(数据定义语言)定义和管理数据对象,如数据库,数据表等create、drop、alter
DML(数据操作语言)用于操作数据库对象中所包含的数据insert、update、delete
DQL(数据查询语言)用于查询数据库数据select
DCL(数据控制语言)用于管理数据库的语言,包括管理权限及数据更改grant、commit、rollback

 

 

 

 

 

 

 

 

 

 

 

查看数据库定义

SHOW CREATE DATABASE students;

查看数据表的定义

SHOW CREATE TABLE student;

显示表结构

DESC student;

设置严格检查模式SET sql_mode=' strict_tables';

 

 

 

 

 

 

 

 

MySQL的数据管理

UPDATE     更新数据   (  INSERT     插入数据、  DELETE   删除数据、     SELECT  查询数据)

 USE students; SELECT * FROM student; 

数据插入

MySQL 表中使用了  INSERT INTO SQL语法

方式1

 INSERT  INTO  表名 (字段1, 字段2,字段3...)

VALUES

(' 值1 ','值2','值3'...);

  1.  在INTO 字句中指出了表名 student,并指出了新增加的元组与哪些属性上要赋值,属性的顺序可以与 TABLE 表中的顺序不一样。
  2. VALUES  字句对新元组中的属性赋值,字符串常数要用单引号(英文符号)括起来;
实例
INSERT INTO student (NAME,sex)
VALUES
('李四','男');

以上代码编译运行的结果如下:

方式2:

 INSERT  INTO  表名 

         VALUES

        (' 值1 ','值2','值3'...);

 

  1.  INTO  字句中只指出表名,没有指出属性名,这表明新元组中要在表中所有的属性列都要指定值,属性列的值要求与 TABLE 表中的顺序相同;
  2. VALUES   字句对新元组的各属性列赋值,注意所赋的值要与属性列一致;

  INSERT INTO student VALUES ('王五','男','1996.06.03','陕西','1249192060@qq.com'); 

结果如下图所示:

删除数据

删除语句的一般的格式为:

DELETE

FROM    表名

WHERE     条件;

方式1           删除某一元组的值
1 DELETE 
2 FROM student 
3 WHERE NAME='李四';

以上编译运行的结果如下图所示:

方式2          删除多个元组的值

 DELETE FROM student ; 

这条DELETE 语句将使student表成为空表,它删除了student表内的所有元素;

以上编译运行的结果如下图所示:

 

数据查询

DQL( Data Query Language 数据查询语言 )

  • 查询数据库数据 , 如SELECT语句
  • 简单的单表查询或多表的复杂查询和嵌套查询
  • 是数据库语言中最核心,最重要的语句
语法

以下为在MySQL数据库中查询数据通用的 SELECT 语法:

SELECT column_name,column_name
FROM table_name
[WHERE Clause] [LIMIT N][ OFFSET M]
  1.  查询语句可以是一个或者是多个表,表之间用逗号隔开,并使用where语句来设定查询的条件;
  2. select  命令可以读取一条或者多条记录;
  3. 可以使用 星号(*)代替其他的字段,SELECT语句返回所有的字段数据;
  4. 可以使用where语句包含任意的条件;
读取数据表:

select * from student;  //查询表中所有的数据

DISTINCT关键字的使用

作用 : 去掉SELECT查询返回的记录结果中重复的记录(返回所有列的值都相同),只返回一条

 where 条件语句:
  • 检索数据表中符合条件的记录;
  • 搜索条件可以有一个或多个逻辑表达式组成;
  • where语句也可以用在SQL的DELETE或者UPDATE命令;
  • where语句类似于if条件,根据MySQL表中的字段值来读取指定的数据;
  • 如果使用主键作为where字句的条件查询是非常快速的;

视图:

视图是由一个或几个基本表导出的表,他与基本表不同,是一个虚表。

视图一旦定义了就可以和基本表一样被查询,被删除,也可以在视图上在定义视图,但会对视图的更新(增,删,改)操作有一定的限制;

建立视图
CREATE VIEW 视图名
AS
[WITH CHECK OPTION];
[WITH CHECK OPTION];表示的是对视图进行增、删、改操作时要保证更新、插入或删除的行满足视图定义中的谓词条件;

转载于:https://www.cnblogs.com/zcstudy/p/11145836.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值