MySQL 教程

来源:互联网 发布:大学生违法犯罪数据 编辑:程序博客网 时间:2024/06/07 13:05

MySQL 教程

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

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

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

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

MySQL为关系型数据库(RelationalDatabase Management System),这种所谓的"关系型"可以理解为"表格"的概念,一个关系型数据库由一个或数个表格组成.

特点:

1.数据以表格的形式出现

2.每行为各种记录名称

3.每列为记录名称所对应的数据域

4.许多的行和列组成一张表单

5.若干的表单组成database

RDBMS术语

在我们开始学习MySQL数据库前,让我们先了解下RDBMS的一些术语:

·        数据库: 数据库是一些关联表的集合。.

·        数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。

·        : 一列(数据元素)包含了相同的数据, 例如邮政编码的数据。

·        行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。

·        冗余:存储两倍数据,冗余可以使系统速度更快。

·        主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。

·        外键:外键用于关联两个表。

·        复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。

·        索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。

·        参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

MySQL 中的数据类型

MySQL有三大类数据类型分别为数字、日期\时间、字符串这三大类中又更细致的划分了许多子类型:

数字类型

整数: tinyint、smallint、mediumint、int、bigint

浮点数:float、double、real、decimal

日期和时间

date、time、datetime、timestamp、year

字符串类型

字符串:char、varchar

文本: tinytext、text、mediumtext、longtext

二进制(可用来存储图片、音乐等):tinyblob、blob、mediumblob、longblob

使用MySQL数据库

创建一个数据库

使用 create database语句可完成对数据库的创建,创建命令的格式如下:

create database 数据库名 [其他选项];

例如我们需要创建一个名为 namelist的数据库,在命令行下执行以下命令:

create database namelist;

创建数据库表

使用 create table语句可完成对表的创建, create table的常见形式:

create table表名称(列声明);

以创建 nlist表为例, 表中将存放序号(id)姓名(name)、联系电话(phone)这些内容:

        create table students

       

               id int unsigned not nullauto_increment primary key,

               name char(8) not null

               phone char(13) null default"-"

        );

create table“表名”(columns)为创建数据库表的命令,列的名称以及该列的数据类型将在括号内完成;

括号内声明了3列内容, idnamephone为每列的名称,后面跟的是数据类型描述,列与列的描述之间用逗号(,)隔开;

"id intunsigned not null auto_increment primary key"行进行介绍:

"id"为列的名称;

"int" 指定该列的类型为 int(取值范围为 -8388608到8388607), 在后面我们又用 "unsigned" 加以修饰, 表示该类型为无符号型, 此时该列的取值范围为 0到16777215;

"not null"说明该列的值不能为空, 必须要填, 如果不指定该属性, 默认可为空;

"auto_increment"需在整数列中使用, 其作用是在插入数据时若该列为NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。

"primary key"表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。

下面的 char(8)表示存储的字符长度为8, default属性指定当该列值为空时的默认值。

向表中插入数据

insert 语句可以用来将一行或多行数据插到数据库表中,使用的一般形式如下:

insert [into]表名 [(列名1, 列名2, 列名3, ...)]values (值1, 值2, 值3, ...);

其中 []内的内容是可选的, 例如, 要给数据库中表插入一条记录,执行语句:

insert into nlist values(NULL, "xiaoyu","138");

有时我们只需要插入部分数据,或者不按照列的顺序进行插入,可以使用这样的形式进行插入:

insert intostudents (name) values("xiaohua");

查询表中的数据

select 语句常用来根据一定的查询规则到数据库中获取数据,其基本的用法为:

select列名称 from表名称 [查询条件];

例如要查询 nlist表中所有学生的名字和年龄,输入语句

select name fromnlist;

按特定条件查询:

where 关键词用于指定查询条件, 用法形式为: select列名称 from 表名称 where 条件;

where子句不仅仅支持 "where列名 = "这种名等于值的查询形式,对一般的比较运算的运算符都是支持的,例如 =><>=<!=以及一些扩展运算符 is [not] nullinlike等等。还可以对查询条件使用 or and 进行组合查询

查询电话中带有 "3"字的所有人信息: select * from nlistwhere phone like "%3%";

更新表中的数据

update 语句可用来修改表中的数据, 基本的使用形式为:

update 表名称 set 列名称=新值 where 更新条件;

删除表中的数据

delete 语句用于删除表中的数据, 基本用法为:

delete from表名称 where 删除条件;

创建后表的修改

添加列

基本形式:alter table 表名 add列名 列数据类型 [after 插入位置];

修改列

基本形式:alter table 表名 change列名称 列新名称 新数据类型;

删除列

基本形式:alter table 表名 drop列名称;

重命名表

基本形式:alter table 表名 rename新表名;

删除整张表

基本形式:drop table 表名;

删除整个数据库

基本形式:drop database 数据库名;

 


0 0
原创粉丝点击