Mysql 第一章 数据库的建立&对表结构的操作

一、数据库和数据库管理系统

引言:
- 传统txt文件存储后,查询不方便,所以引入了数据库。
- 数据库快是由其数据结构决定。

这里写图片描述

1,数据库(DataBase:DB)按照一定数据结构存储和管理数据的仓库;

根据数据之间的关系,数据模型结构分为:
  • (1)层次模型(只能简单表示关系层次)
  • (2)网状模型(关系复杂,但是看起来乱)
  • (3)关系模型(常用)
关系模型(重点)

==将复杂的关系,以简单的二元形式进行表示(即表格)。行叫记录,列叫字段。==

2.数据分类

(1)结构化数据:(09年之前)

可以通过相同的结构来进行统一管理。

(2)非结构化数据:

不能通过相同的结构来进行统一管理。

(3)半结构化数据:

介于上述两者之间(html/xml)

3.数据库分类

(1)关系型数据库:操作结构化数据
(2)非关系型数据库:非结构化

4.数据库管理系统(DataBase Management System:DBMS)管理和操作数据库的软件。

(A)关系型数据库管理系统(R:relationship RDBS)
(a)Oracle:分布式关系型数据库管理系统
  • (Sun公司的,后被Oracle公司收购,很多大公司都会用,收费价格不菲,按CPU核数收费,每核十几万美元。):
  • 国企一般用Oracle数据库。
(b) Mysql:开源免费的数据库。

小。支持GPL(开源软件许可证),即修改后,还必须开源。支持千万级别的数据。

(c)Sql server:中型的关系型数据管理系统(微软)
(d)DB2:IBM的:针对中小型企业的数据库管理系统。
(B)非关系型数据库管理系统(Nosql :not only sql)

Redis Hbase mengdb neo4j

二、Mysql

  • Mysql是一个关系型的收据库管理系统,Mysql由Mysql ab公司创立,后被sun公司收购,后又被Oracle公司收购。
  • Mysql内部通过分库分表形式管理数据。一个数据库管理系统可以管理多个数据库,一个数据库中可以存放多张表。

(一)下载安装 :

(A)下载:Oracle官网(B)Mysql官网
(B)安装(服务器)

(安装过程中需要查看服务的话: window_R调出命令提示符,然后输入 services.msc查看服务)

安装目录下的重要文件
C:\Program Files\MySQL\MySQL Server 5.7
   Mysql:
       Data:存放数据信息,一个目录对应一个数据库
       frm文件:存放数据信息
       MYD文件:存放数据信息
   my.ini :mysql的配置文件
(C)客户端工具

Navicat for Mysql软件:图形化界面软件。

(二)通过cmd建立连接:

(1)切换到mysql的dbms安装目录下的bin目录下:

打开cmd,执行命令:cd C:\Program Files\MySQL\MySQL Server 5.7\bin

(2)登陆:命令:mysql -uroot -p
(3)使用:
(A)数据库database:
  • (a)查看数据库
    mysql>show databases; (注意s和分号)
- (B)表table
  • (a)进入mysql数据库/切换数据库 mysql>use mysql
  • (b)查看数据库中的表 mysql> show tables;
  • (c))查看表中所有的数据 mysql>select * from user;

三、SQL(structured qurery language:结构化查询语言)

  • 数据库的标准化语言:实现数据库的访问和操作。
  • 对大小写不敏感
  • 使用分号作为结束标志

(一)分类

(A)DDL(Data defination language)数据定义语言。

对数据库对象(数据库,表,试图,索引等)结构操作。
创建creat/修改alter/销毁drop

(B)DML(Data Management Language)数据操纵语言

insert/delete/updata/select

(C)DCL(Data Control language)数据控制语言

授权(Grant)/取消授权(revoke)

(D)TCL(Transform Control language):事务控制语言

提交(Commit)/回滚(rollback)

(二)DDL:数据定义语言

例1创建数据库
--创建数据库bd1804
create database if not exists bd1804;
--销毁数据库(很少用,尽量不用)
drop database if exists bd1804;
  • 创建表
--创建表
--创建表结构时需要描述字段信息
create table student (
    sid int,
    sname varchar(20),
    age int 
);
  • 增加属性
  • 表的销毁
  • 表的清除
(A)数据类型
(a)整型数据

这里写图片描述

(b)浮点数
  • Float(m,n)m,总长度,n,小数位数
  • Double(m,n)
  • Decimal 16字节:精度最高,一般银行用。
(c)字符串
  • Char(n):定常字符串
  • Varchar(n):可变字符串,最长n,n以内根据内容定长度
  • Test:长文本
(d)日期类型
  • Date :年月日
  • Time :时分秒
  • Datatime:年月日时分秒(1000年到9999年)
  • Timestamp:时间戳1970年1月1日0时0分0秒到2037年
  • Year
(e)其他类型
  • Blob:二进制数据(图片,视频,一般不会用。一般存图片等的路径)
  • Enume(‘male’.’femal’):枚举
  • Set(‘1’,’2’,’3’):集合
  • Json:jason类型
例3:

碰到与关键字重合的字时,颜色会变,用反单引号引起。只是颜色变了,名字还是不变。

create table `user` (
    uid int,
    uname varchar(20),
    `password` varchar(20),
    birthday Date 
);
对表结构操作的全部例子
create table student (
    sid int;
    sname varchar(20);
    age int
);
create table `user` (
    uid int,
    uname varchar(20),
    `password` varchar(20),
    birthday Date 
);
#-----修改表结构---alter---- 
#--在Student表中追加性别属性
alter table student add sex varchar(20);
-- 在Student表中添加班级,添加到首位
alter table student add cid int first;
-- 添加到指定字段后面
alter table student add birthday date after cid;
-- 查看表结构
desc student;

-- 修改字段(名称,类型,长度,位置)
-- 修改名称
alter table student change age sage int ;
-- 修改类型
alter table student change sname sname varchar(50);
//change 必须前面是原字段,后面是新字段。modify可以只修改要改的部分。
alter table student modify sname varchar(20);
alter table student change sname  sname varchar(20) after cid;
alter table student modify sname varchar (20) after cid;
-- 删除---
alter table student drop sid;
#修改表的名称
rename table student  to stu;
#清空表:把表的内容清空
truncate table stu;
desc stu;
(B)对表内容的完整性约束
(a)完整性:数据的准确性
(b)完整性约束分类
  • 实体完整性(实体:记录(记录之间不能重复))
    • 主键约束:primary key 设置为主键的字段必须唯一且不能为空
    • 唯一约束:unique
    • 主键自增:
  • 域完整性
  • 引用完整性
  • 自定义完整性
(1)添加主键约束例子
-- 主键约束的添加(唯一不为空,一张表只能有一个主键,但是可以有联合主键)
 -- 主键选择:无意义字段(主键一般不修改,经常变化的字段和业务的字段不适合作为主键)
 -- 1、创建表的同时添加主键约束
 -- 1)字段声明添加primary key 
create table student(
    sid int primary key,
    sname varchar(20),
    age int
);
 -- 2)声明时不指定,声明完字段后,添加主键
 drop table student;
 create table student(
    sid int ,
    sname varchar(20),
    age int,
    primary key(sid)
);
-- 2.2)联合主键
drop table student;
create table student(
    sid int ,
    sname varchar(20),
    age int,
    primary key(sid,sname)
);
-- 2、已经有表了,添加约束(用的少,一般创建时就要设计好)
drop table student;
create table student(
    sid int ,
    sname varchar(20),
    age int
);
 --                      约束       约束名称
alter table student add CONSTRAINT pk_sid primary key(sid);
(2)添加唯一性约束的例子
alter table student add CONSTRAINT uq_card unique(card);
(3)主键自增例子
alter table student modify sid int primary key auto_increment;

其他

(一)几个概念
  • A 数据库管理系统软件安装目录
  • B 数据库连接目录:其他编程语言连接数据库jar包信息 connectorJ
  • C 客户端的工具的目录 Workbench
  • D 数据存放的目录 ProgramData

(二)一般命令语法

\ 命令 选项 参数
举例1 mysql
    uroot
举例2 java
    version

猜你喜欢

转载自blog.csdn.net/gegeyanxin/article/details/80599946
今日推荐