zoukankan      html  css  js  c++  java
  • Day1 MySql安装和基本操作

    数据和数据库

    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 Definition language):数据定义语言

       数据库对象的创建,修改和删除(数据库,表,视图,触发器…),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;
  • 相关阅读:
    P1631-序列合并
    P1484-种树
    17.树的子结构(python)
    16.合并两个排序的链表(python)
    反转链表
    链表中倒数第k个节点(python)
    调整数组顺序使奇数位于偶数前面(python)
    Spark--wordcount(词频降序)
    数值的整数次方
    二进制中1的个数(python)
  • 原文地址:https://www.cnblogs.com/qingyunzong/p/8277517.html
Copyright © 2011-2022 走看看