黑马程序员技术交流社区

标题: 【上海校区】(数据库介绍、mysql、sql、DDL-数据定义语言) [打印本页]

作者: wuqiong    时间: 2018-7-16 09:23
标题: 【上海校区】(数据库介绍、mysql、sql、DDL-数据定义语言)
数据库和数据库管理系统数据库介绍

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

2.数据模型结构:层次模型、网状模型、关系模型

3.关系模型:将复杂的关系以简单的二元形式表示。以行和列的形式进行表示(表格)。行叫记录,列叫字段

4.数据分类:

结构化数据:可以通过统一的结构来进行描述的管理。

非结构化数据:通过同一的方式进行描述

半结构化数据:位于上述两者之间

5.数据库的分类:

关系型数据库:操作结构化数据

非关系型数据库:非结构化

6.数据库管理系统(DBMS:Database Management System):一套管理和操作数据库的软件

(a)关系型数据库管理系统(R:relationship RDSBMS)

Oracle:分布式关系型管理系统(大企业) 收费(按照cpu核数收费)

mysql:开源免费数据库,小,遵循GPL(开源软件许可证),支持千万级别

sqlserver:中型的关系型数库管理系统。Microsoft

DB2:IBM 针对中小型数据库管理系统

(b)非关系型数据库管理系统(Nosql:not only sql)

redis,mangodb,hbase,neo4j

mysql

Mysql是一个关系型的数据库管理系统

Mysql是由Mysql ab公司设计的产品,后期被oracle收购

mysql内部采用分库分表的形式管理数据库:一个数据库管理系统中可以管理多个数据库,一个数据库中可以管理多张表

Mysql1.下载

(略)

2.安装

(略)
数据库管理系统软件的目录(DBMS安装目录):C:\Program Files

数据库连接目录:(其他编程语言连接数据库的jar包信息) connectorJ

客户端工具的目录: workbench

数据存放的目录 programData

注:

C:\ProgramData\MySQL\MySQL Server 5.7\

    Data:存放数据信息,一个目录对应一个数据库。   

        frm文件存放标的结构信息

        MYD文件存放数据信息

    my.ini:mysql的配置文件


通过cmd 建立mysql连接:


(1)切换到mysql的dbms安装目录下的bin:C:\Program Files\MySQL\MySQL Server 5.7\bin下的mysql.exe


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


(2)登陆:命令:mysql -uroot -p,输入root用户密码


(3)开始使用


database 数据库的使用:


查看数据库:

mysql> show databases;


table 表的使用:


进入mysql数据库(切换数据库):

mysql> use mysql


查看数据库中的表:

mysql> show tables;


查看表里所有数据:

mysql> select * from user;



3.客户端工具


可以使用navicat

安装(略)


sql(结构化查询语言 structured query language)


数据库的标准化语言,实现对数据库的访问和操作

对大小不敏感

使用分号作为结束标志

sql分类:


DDL(Data definatition language):数据定义语言。对数据库对象(数据库,表,试图,索引等)结构操作:创建/修改/销毁(Create/alter/drop)

DML(Data Manitaption Language):数据操纵语言。增删改查(insert/delete/update/select)

DCL(Date Control Language):授权/取消授权(Grant/revoke)

TCL(Transaction Control Language):提交/回滚(commit/rollback)

DDL(数据定义语言)


对数据结构进行操作


数据库的创建和销毁


--创建一个数据库 bd1804

create database bd1804;

create database if NOT exists bd1804 ;


--销毁数据库(少用)

drop database  if exists bd1804 ;



数据库表的创建


use database bd1804;


--创建表

--创建表结构时需要描述字段信息

create table student(

sid int,

sname varchar(20),

age int

);



修改表结构


    --添加字段(追加)

alter table student add sex varchar(20);

  --添加到首位

alter table student add cid int first;

  --添加到指定位置

alter table student add birthday date after cid;



查看表结构


--查看表结构

desc student;


修改字段


--修改字段(名称,类型,长度,位置)(change,modify)

    --修改名称

    alter table student change age sage int;


    alter table student change sname sname varchar(50);

    alter table student modify sname varchar(20);


    alter table student change sname sname varchar(20) after cid;


    alter table student change sname sname varchar(20) first;


表名称修改


-- 表名称修改

rename table student to stu;


清空表(与delete的区别)


-- 清空表

truncate table stu;


删除字段


--删除字段

alter table student drop cid;


销毁表


drop table student;


mysql里的数据类型

整型数据:

浮点数

Float(m,n):m表示总长度,n表示小数位数

Double(m,n)

Decimal(m,n):16字节

字符串

Char(n):定长字符串

Varchar(n):可变长字符(n可理解为最长的长度,n要小于65535)

Text:长文本

日期

Date:年月日

Time:时分秒

Datetime:年月日时分秒 年的范围:1000 - 9999年

Timestamp:时间戳 年的范围:1970 - 2037年

其他类型

Blob:二进制数据

Eunm(’male’,’femal’):枚举

set(’1’,’2’,’3’):集合

Json:json类型

注意
- 数据类型在各种数据库中有区别

mysql完整性约束完整性指的是数据的准确性完整性分类

作者: 不二晨    时间: 2018-7-16 11:50
奈斯
作者: 小影姐姐    时间: 2018-7-18 10:34
牛牛牛!
作者: 吴琼老师    时间: 2018-7-18 14:42

作者: 不二晨    时间: 2018-7-19 14:04

优秀




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2