一、关系型数据库
数据库有阶层型/网络型数据库,卡片数据库、关系型数据库、面向对象数据库和xml数据库,现在的数据库大多都是关系型数据库。
数据库是表和操作数据库对象的集合体,而表由域(列)构成,一组域就是一条记录。
主键:用来唯一标识记录的域或者域群。
外键:与主键关联用的外部表中的参照键。
主键和外键是关系型数据库的关键所在,将信息放在不同的表中,通过主键和外键将不同的表关联起来,从而减少了数据冗余。
常用关系型数据库产品
二、使用MYSQL监视器monitor
MYSQL监视器是基于CUI(character user interface,字符用户界面)的客户端程序。
1、启动monitor
cmd打开命令窗口,输入
mysql -u 用户名 -p密码
注意:-u与用户名之间隔了半月空格,p与密码之间没有空格,打开之后如下图
红色标记的部分表明我们每条语句应该以;或者 \g结尾。
2.创建数据库
通过monitor连接上数据库之后,我们就可以创建数据库了,首先我们看一下之前已经存在的数据库
show databases ;
红色标记部分:我没有使用结尾符,因此它一直等待,直到我输入;。
mysql是与MYSQL运行相关的基本信息等管理数据的数据库,比如用户信息
information_schema数据库又称为信息架构,保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。
test数据库是MYSQL的测试数据库,数据库本身是空的,如果不需要,可以删除
创建数据库:
create database mydatabase;
数据库语言本身不区分大小写,但是windows和linux对库名和表名处理不一样,windows不区分大小写,但是linux区分,mydatabase和Mydatabase在linux中是不一样的数据库。
3.删除数据库
drop database mydatabase;
4.创建操作数据库的专用用户
创建好数据库之后,我们就可以通过root用户登录数据库进行各种数据库操作,但是从安全角度考虑,这是不合适,因此我们创建操作数据库的专用用户。
grant all privileges on 数据库名.* to 用户名@ localhost identified by 密码
all privileges:所有权限
数据库名.*:可以指定作用范围
5.创建表
进入monitor之后不能直接创建表,需要先指定在哪个数据库上创建
use 数据库名;
结果:
如果操作过程中忘记了自己现在正在操作哪个数据库,可以使用以下语句来查看当前数据库:
select database();
创建新表:
create table 表名(域,类型,列选项[,....])
MYSQL的主要数据类型如下:
create table命令中可用的常见选项如下表:
接下来创建一个表customer
create table customer(mid char(5) primary key,nam varchar(20),birth datetime,sex char(1));
如果表中出现乱码,可以在创建表命令的末尾指定字符集
create table customer(mid char(5) primary key,nam varchar(20),birth datetime,sex char(1))
charset=utf8;
utf8为16位字符集,基本可以表示任何字符。
6.显示表信息
a.显示所有的表
show tables;
b.显示表结构
desc 表名;
如下:
c.删除表
drop table 表名;
7.插入数据
insert into 表名 (列名1,列名2,...) values (数据1,数据2,...);
select 列名 from 表名;显示
执行结果如下:
给“mid”列插入两个数据n001和n002
显示表customer
啦~~啦~~啦~~明天继续。。。。。