【MySQL数据库】初识MySQL

1 数据库

数据库(Database,简称DB)是指长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”。作用就是保存、管理数据。

数据库主要分为两类:

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

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

数据库管理系统(Database Management System 简称DBMS):数据管理软件,科学组织和存储数据、高效获取和维护数据。

MySQL简介:MySQL是现流行的开源、免费的关系型数据库。可在官网下载安装。

SQLyoga管理工具:可手动操作、管理MySQL数据库的软件工具。

1.1 连接数据库

在DOS命令窗口输入以下指令连接数据库:

1.启动数据库服务

net start mysql

注:如果出现拒绝访问/系统发生错误的情况,尝试以管理员身份运行DOS命令窗口

2.连接数据库

mysql -h服务器主机地址 -u用户名 -p密码

注:用户名和密码指的是安装MySQL时设置的用户名和密码

连接数据库也可以采用密码不显的方法

输入:mysql -h服务器主机地址 -u用户名 -p 指令后回车,再次输入密码。

 密码不显的方式:

2 结构化查询语句SQL

结构化查询语句分类

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

注:DDL是针对数据库和数据表操作的,DML和DQL是对表中的数据操作的。

3 DDL(数据定义语言)应用

3.1 命令行操作数据库

创建数据库

create database [if not exists] 数据库名;

删除数据库

drop database [if exists] 数据库名;

查看数据库

show databases;

使用数据库

use 数据库名;

3.2 命令行操作表

创建表可以通过SQLyog工具建表,也可以通过create语句建表。

显示表结构:desc  表名

显示表创建语句:show create table 表名

3.2.1 创建数据表(CREATE TABLE)

create table[if not exists] `表名`(

`字段名1` 列类型 [属性] [索引] [注释],

`字段名2` 列类型 [属性] [索引] [注释],

......

`字段名n` 列类型 [属性] [索引] [注释]

)[表类型] [表字符集] [注释];

注:反引号是用于区别MySQL保留字和普通字符。

1.列类型:规定表中该列存放的数据类型。分为以下几种类型:数值类型、字符串类型、日期和时间型数值类型、NULL值。

数值类型

字符串类型

 日期和时间数值类型

NULL值 :理解为没有值或未知值。原则上不用NULL值进行算术运算,结果仍为NULL。

常用数据类型的选择:整数和浮点、日期类型、char和varchar

2.数据字段属性:对表中的数据进行相应约束

unsigned无符号的,声明该数据列不允许有负数
zerofill0填充的,不足位数的用0填充
auto_increment自增长,每添加一条数据,自动在上一个记录数上+1,通常用于设置主键,且为整数类型
NULL和NOT NULL

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

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

DEFAULT默认的,用于设置默认值,例如有性别字段,可设置默认为“男”
unique唯一的,声明该列数据具有唯一性

3. 数据字段注释:对字段名/表名进行解释

 对字段名解释:comment '解释语'

对表名解释:comment='解释语'

 举例:使用SQL语句创建student表。具体设计如下:

 SQL语句代码:

CREATE TABLE `student` (
  `StudentNo` int(4) NOT NULL COMMENT '学号',
  `LoginPwd` varchar(20) DEFAULT NULL,
  `StudentName` varchar(20) DEFAULT NULL COMMENT '学生姓名',
  `Sex` tinyint(1) DEFAULT NULL COMMENT '性别,取值0或1',
  `GradeId` int(11) DEFAULT NULL COMMENT '年级编号',
  `Phone` varchar(50) NOT NULL COMMENT '联系电话,允许为空,即可选输入',
  `Address` varchar(255) NOT NULL COMMENT '地址,允许为空,即可选输入',
  `BornDate` datetime DEFAULT NULL COMMENT '出生时间',
  `Email` varchar(50) NOT NULL COMMENT '邮箱账号,允许为空,即可选输出',
  `IdentityCard` varchar(18) DEFAULT NULL COMMENT '身份证号'
);

4.表类型:设置数据表的类型 。语法:ENGINE=数据表类型

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

常见的MyISAM和InnoDB类型比较

使用MyISAM:节约空间及响应速度。使用InnoDB:安全性,支持事务处理及多用户操作数据表。

3.2.2 修改表(ALTER TABLE)

#修改表名
alter table `旧表名` rename as `新表名`;

#向表中添加字段
alter table `表名` add `字段名` 列类型[属性];

#修改列类型
alter table `表名` modify `字段名` 新列类型[属性];

#修改字段名
alter table `表名` change `旧字段名` `新字段名` 列类型[属性];

#删除字段
alter table `表名` drop `字段名`;

3.3.3 删除表(DROP TABLE)

语法:drop table [if exists] `表名`;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值