数据和数据库

1.数据:客观事物的符号表示。

2.存储介质:纸,光盘,磁盘,u盘,云盘…

3.存储的目的:检索(查询)

存储数据量加大,导致检索的难度升高。

4.数据库(DB:database):按照一定的数据结构存储数据的仓库(关系模型)。

数据的分类

a)         结构化数据:可以按照一定结构进行描述。

b)         非结构化:不可以。

c)         半结构化:介于两者之间。

数据库分类

a)         关系型数据库: 结构化数据

b)         非关系型数据库:非结构化和半结构化

数据库管理系统(DBMS:database management System)

操纵和管理数据库。

数据库管理系统的分类

a) 关系型数据库管理系统(RDBMS:Relationship):

  A.       Oracle:Oracle公司,大型的关系型管理系统。应用场景广泛。(医药,金融,传统互联网…)

  B.       Mysql:Oracle公司,开源免费

  C.       SQL Server:Microsoft公司,中小型数据库。

  D.       DB2:  IBM公司  《1984》

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

  redis

  Mongdb

  Hbase

Mysql数据库介绍

Mysql  AB公司产品。开源免费的关系型数据库管理系统。

1996年,1.0版本

2000年,开源

2008年,被sun以10亿美元收购

2009年,sun被oracle以74亿美元收购

分库分表思想

分库

划分多个数据库(根据业务的不同划分,百度,华为….)。

分表

数据库中存储多张表,每张表中存储数据。以二维表格形式进行数据的存储。

GPL:开源软件协议

Mysql的下载和安装

1) 下载

https://dev.mysql.com/downloads/mysql/

2) 安装

安装版:  msi(傻瓜式安装)

绿色版:  zip

  A.       解压到非中文路径下

  B.       在运行中输入services.msc命令(查看服务)

  C.       使用管理员身份进入dos命令,切换到bin目录,mysqld命令实现安装:mysqld –install

  D.       卸载:mysqld –remove

  E.       命令行启动:net start mysql

  F.        停止服务:net stop mysql

  G.       登录数据库:mysql –uroot –p密码     

  H.       没有密码,修改密码:mysqladmin –uroot –p password 新密码

按照注意事项:

  管理员身份

  关闭杀毒软件防火墙

  不要使用多重网络(ping 127.0.0.1)

  c:/windows/my.ini文件,删掉

3) 基本命令

  a)         exit:退出

  b)         show databases:查看数据库

  c)         use dbname:切换到某个数据库

  d)         show tables:展示所有的数据库表

4) 客户端工具

  navicat  /  sqlyog

SQL

结构化查询语言(structure query language),数据库数据操作的通用语言。

存储引擎(innoDB):核心,语句不区分大小写。

分类

  a) DDL(Data Definitionlanguage):数据定义语言

   数据库对象的创建,修改和删除(数据库,表,视图,触发器…),create    alter   drop

  b) DML(Data Manipulation language):数据操纵语言

   对数据的增删改操作,insert  delete  update

  c) DQL(Data query language):数据查询语言

   select

  d) TCL(Transaction control language):事务控制语言

  commit  提交,rollback  回滚

  e) DCL(Data control language ):数据控制语言(oracle)

  grant:授权,revoke:取消授权

对数据库的操作(DDL)

1. 创建数据库   create

--创建数据库
create database IF NOT EXISTS mydb;

2.销毁数据库   drop

--销毁数据库
drop database IF EXISTS mydb;

表的操作(DDL)

表:二维表格的形式存储数据。

一行叫记录;

一列叫字段。

1.表的创建   create

--创建表保存学生的信息
--学生编号
--学生姓名
create table student(
sid int,
sname varchar(20)
);
--查看表结构
desc student;

2. 表的修改   alter

--添加字段
修改表结构添加字段(默认追加)
alter table student add sex varchar(20) first | after 列名
--修改字段的长度,类型,名称
alter table student change sname sname varchar(50);
--修改位置
alter table student change age age int after sex;
--表字段删除
alter table student drop cid;

3.表的销毁   drop

--销毁表
drop table student;

数据类型

1.数值

https://dev.mysql.com/doc/refman/5.7/en/integer-types.html

整型数据:

浮点型:

float(m,n):长度和小数点位数

double(m,n):

decimal(m,n):

2.字符串类型

char:固定长度的字符串

varchar:可变长度的字符串

3.日期类型

date:日期

time:时间

datetime:日期和时间

timestamp:时间戳

4.其他类型

text:长文本

blob:保存二进制数据

enum(‘F’ ,’M’):枚举

完整性约束

完整性

数据的准确性

分类

实体完整性

实体:记录

1.主键约束:primary key,唯一且不能为空

3种创建方式

--第一种:
create table student(
sid int primary key,
sname varchar(20)
);
--第二种:
create table student(
sid int,
sname varchar(20),
primary key(sid)
);
--第三种
alter table student add CONSTRAINT PK_SID primary key(sid);

2.唯一约束:unique,不重复

create table student(
sid int PRIMARY KEY,
sname varchar(20),
card varchar(18) unique
);

3.主键自增(mysql适用,oracle不适用(序列))

create table student(
sid int PRIMARY KEY auto_increment,
sname varchar(20),
card varchar(18) unique
);

域完整性

域:字段的值准确的。

  A.       类型约束

  B.       非空约束:not null

  C.       默认值:default

create table student(
sid int PRIMARY KEY auto_increment,
sname varchar(20) not null,
card varchar(18) unique,
sex varchar(10) default 'man'
);

引用完整性:多张表之间

外键约束:(主外键)foreign key,参照完整性

一张表的某个字段(外键)的取值必须参考另一张表的主键值。

alter table emp add CONSTRAINT PK_DEPTNO foreign key(deptno) REFERENCES dept(deptno)

自定义完整性

check(mysql不支持)  oracle

--添加约束保证部门编号只能在1到120之间
alter table dept add CONSTRAINT CK_AGE check(deptno BETWEEN 1 and 120)

删除约束

alter table emp drop primary key;
alter table emp drop foreign key;

Day1 MySql安装和基本操作的更多相关文章

  1. mysql安装及基本操作(mysql作业)

    1 官网下载,链接  https://www.mysql.com/downloads/ Download MySQL Community Server 默认为你选好了Mac OS X 平台 选择的是. ...

  2. MYSQL安装与基本操作

    http://docs.sqlalchemy.org/en/latest/    sqlalchemy文档 1.下载,下载版本太多,不知道下哪个好,别人介绍版本 进入官网-->点击最下面 DOW ...

  3. ubuntu linux mysql 安装 基本操作 命令

    mysql --help #如果有信息证明系统已经安装了mysql mysql -V #查看版本号 netstat -tap|grep mysql #检查mysql是否在启动状态 卸载mysql: s ...

  4. MYSQL安装与库的基本操作

    mysql数据库 什么是数据库 # 用来存储数据的仓库 # 数据库可以在硬盘及内存中存储数据 数据库与文件存储数据区别 数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文件 数 ...

  5. 【mysql】centos7下mysql的安装以及基本操作

    centos7使用的MariaDB,替代了早期版本默认的MySQL.MariaDB是MySQL的一个分支,由开源社区维护,采用GPL授权许可,且MariaDB完全贱人MySQL. 检查centos7下 ...

  6. ubuntu下MySQL安装配置及基本操作

    在linux下安装方法: 分为四种:一: 直接用软件仓库自动安装(如:ubuntu下,sudo apt-get install mysql-server; Debain下用yum安装): 二:官网下载 ...

  7. MySql安装与使用(linux)

    安装 MySQL 注意:此处安装是yum安装为例: MySQL安装 #yum install mysql-server 完后显示如下: MySQL初始化 #service mysqld start 查 ...

  8. MySQL安装的挫折之路

    由于对MySQL卸载的不干净,mysql 的MySQL Connector Net/xxx无法卸载,后期重装无法成功.所以只能采用zip 安装https://www.cnblogs.com/Micha ...

  9. MySQL安装部署及调优

    MySQL安装 二进制安装 - mysql-5.5.49 mkdir /home/oldboy/tools -p cd /home/oldboy/tools/ rz #mysql-5.5.49-lin ...

随机推荐

  1. Java新建线程的两种方式

    Java新建线程有两种方式,一种是通过继承Thread类,一种是实现Runnable接口,下面是新建线程的两种方式. 我们假设有个竞赛,有一个选手A做俯卧撑,一个选手B做仰卧起坐.分别为两个线程: p ...

  2. JAVA非静态成员变量之死循环

    1.非静态成员变量 当成员变量为非静态成员变量且对当前类进行实例化时,将会产生死循环 例子: public class ConstructorCls { private ConstructorCls ...

  3. js 实现复制到粘贴板功能

    前言:js 或者 jquery 都可以实现的复制到粘贴板功能,有时还想要有换行等格式(同 textarea) 网站地址:我的个人vue+element ui demo网站 github地址:yuleG ...

  4. c#设计模式·结构型模式

    看的过程中,发现好多模式都用过,只是没有总结,或者是不知道叫这个名字吧··· 这里列举结构型模式,适配器.桥接.过滤.组合.装饰器.外观.享元.代理, 适配器模式:将现存的对象放到新的环境里边去,但是 ...

  5. 慕课网 Ajax笔记

    Ajax技术实现: 运用HTML和CSS来实现页面,表达信息: 运用XMLHttpRequest和web服务器进行数据的异步交换: 运用JavaScript操作DOM,实现动态局部刷新: 同步:就是用 ...

  6. drupal7 hook_validate

    原文:function hook_validate function hook_validate($node, $form, &$form_state) { if (isset($node-& ...

  7. <VS2010>混合模式程序集是针对“v2.0”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集

    在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0时,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常: 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有 ...

  8. Java并发编程指南

    多线程是实现并发机制的一种有效手段.在 Java 中实现多线程有两种手段,一种是继承 Thread 类,另一种就是实现 Runnable/Callable 接口. java.util.concurre ...

  9. Android网络请求库RetrofitUtils

    RetrofitUtils GitHub地址,帮忙给个Star 项目介绍 Retrofit+Okhttp辅助类的简单封装,vesion 1.0.X 实现了Get,Post-Form.Post-Json ...

  10. 为什么不要使用 select * from xxx (oracle 亲测)

    打开已用时间set timing on;create table users(id number(20), name varchar2(20), password varchar2(20));inse ...