zoukankan      html  css  js  c++  java
  • MySQL数据库(一)

    一:MySQL的简单介绍

      MySQL属于关系型数据库,数据是以行和列的形式去存储(表),表中的每一行叫一条记录,表中的每一列叫一个字段,表和表之间的逻辑关联叫关系.

    二:MySQL的基本操作

      (一)MySQL安装
        Ubuntu上安装MySQL服务
          1、安装服务端
            sudo apt-get install mysql-server
          2、安装客户端
            sudo apt-get install mysql-client
        Windows上安装MySQL服务
          1、下载MySQL安装包(windows)
            mysql-installer***5.7.***.msi
      (二)启动和连接MySQL服务

        1、服务端启动
          1、查看MySQL服务的状态
            sudo /etc/init.d/mysql status
          2、停止MySQL服务
            sudo /etc/init.d/mysql stop
          3、启动MySQL服务
            sudo /etc/init.d/mysql start
          4、重启MySQL服务
            sudo /etc/init.d/mysql restart
        2、客户端连接
          1、命令格式
            mysql -h主机地址 -u用户名 -p密码
            mysql -hlocalhost -uroot -p123456
          2、本地连接可以省略 -h 选项
            mysql -uroot -p123456

      (三)基本SQL命令
        *SQL命令的使用规则
          1、每条命令必须以 ; 结尾
          2、SQL命令不区分字母大小写
          3、使用 c 终止SQL命令的执行

    *******************************
       目录

        一、库的管理 二、表的管理(创建|增删改查)

    *******************************
      一、库的管理
        1、查看已有的库
          show databases;
        2、创建库(指定字符集,默认为latin1)
          create database 库名 default charset=utf8;
        3、查看创建库的语句
          show create database 库名;
        4、查看当前所在库
          select database();
        5、切换库
          use 库名;
        6、查看库中已有表
          show tables;
        7、删除库
          drop database 库名;
        *库的命名规则
          1、可以使用数字、字母、_,但是不能使用纯数字
          2、库名区分字母大小写
          3、库名具有唯一性
          4、不能使用特殊字符和mysql的关键字

      二、表的管理

        1、创建表(指定字符集)
          create table 表名(
                  字段名 数据类型,
                  字段名 数据类型,
                   ... ...
                  )default charset=utf8;

        ***数据类型***

        一、数值类型(有符号signed和无符号unsigned)
          1、整型
            1)tinyint 微小整型(1个字节)
              有符号(signed默认): -128 ~ 127
              无符号(unsigned): 0 ~ 255
            2)smallint 小整型(2个字节)
              取值范围:0 ~ 65535
            3)int 大整型(4个字节)
              取值范围:2**32 - 1(42亿多)
            4)bigint 极大整型(8个字节)
              取值范围:0 ~ 2**64 - 1
          2、浮点型
            1、float(4个字节,最多显示7个有效位)
              1、用法
                字段名 float(m,n) m->总位数,n->小数位位数
              float(5,2) 取值范围? -999.99 ~ 999.99
              2、注意
                1、浮点型插入整数时会自动补全小数位
                2、小数位如果多于指定的位数,会对下一位进行四舍五入
            2、double(8个字节,最多显示15个有效位)
              1、用法
                double(m,n)
            3、decimal(M+2个字节,最多显示28个有效位)
              1、用法
                字段名 decimal(M,D)
      二、字符类型
        1、char(定长)
          1、宽度取值范围:1~255
          2、不给定宽度默认宽度为1
        2、varchar(变长)
          1、取值范围:1~65535
          2、注意
            1、varchar没有默认宽度,必须给定一个宽度值
            2、char、varchar使用时都给定宽度,但不要超过各自的范围
        **char和varchar的特点
          1、char(定长)
            浪费存储空间,但是性能高
          2、varchar(变长)
            节省存储空间,但是性能低
        **字符类型的宽度和数值类型的宽度的区别

          1、数值类型的宽度为显示宽度,只用于select查询时显示,和占用的存储空间大小无关,可用zerofill来显示效果
          2、字符类型的宽度超过指定宽度则无法存储
            create table t1(
            id int(3) zerofill,
            name char(20)
            );
            insert into t1 values(1,"lucy"); ## 显示效果为 001


      三、枚举类型
        *定义:字段值只能在列举的范围内去选择
        1、enum 单选(最多有65535个不同的值)
          字段名 enum(值1,值2,...)
        2、set 多选(最多有64个不同的值)
          字段名 set(值1,值2,...)
          插入记录时 "Python,MySQL,Study
        3、日期时间类型
          1、year :年 YYYY
          2、date :日期 YYYYMMDD
          3、time :时间 HHMMSS
          4、datetime :日期时间 YYYYMMDDHHMMSS
          5、timestamp:日期时间 YYYYMMDDHHMMSS
          6、注意
            1、插入记录时datetime字段不给值默认返回NULL
            2、插入记录时timestamp字段不给值默认返回系统当前时间

    ****************************************


        2、查看创建表的语句(字符集)
          show create table 表名;

        3、查看表结构
          desc 表名;

        4、删除表
          drop table 表名;
        *表的命名规则(同库的命名规则)
        *注意
          1、所有的数据都是以文件形式存放在数据库目录下
          2、数据库目录:/var/lib/mysql  

        5、表-字段的操作

          ***语法:alter table 表名 执行动作;
          1、添加字段(add)
            1、添加到末尾
              alter table 表名 add 字段名 数据类型;
            2、添加到第一列
              alter table 表名 add 字段名 数据类型 first;
            3、添加到指定位置
              alter table 表名 add 字段名 数据类型 after 字段名;
          2、删除字段(drop)
            alter table 表名 drop 字段名;
          3、修改字段数据类型(modify)
            alter table 表名 modify 字段名 新的数据类型;
          4、修改字段名(change)
            alter table 表名 change 旧字段名 新字段名 数据类型;
          5、修改表名(rename)
            alter table 表名 rename 新表名;

    ********练习********
    1、创建一个库STUDB,指定字符集为utf8,并切换到该库
      create database STUDB default charset=utf8;
    2、在STUDB中创建表stuinfo01,字段要求如下:
    姓名name:变长,宽度为20
    班级class:定长,宽度为5
    年龄age:微小整型,要求不能输入负数
    身高height:浮点型,小数位为2位
      use STUDB;
      create table stuinfo01(
      name varchar(20),
      class char(5),
      age tinyint unsigned,
      height float(5,2)
      );

    3、查看stuinfo的表结构
      desc stuinfo;
    4、查看 stuinfo 中的所有记录
      select * from stuinfo;
    5、删除表 stuinfo
      drop table stuinfo;
    6、删除库 studb
      drop database studb;

  • 相关阅读:
    字节输入输出流
    数据库安全性
    数据库设计:三种范式
    (Java篇) 代理服务:Nginx ---》(1)介绍及安装
    (十七)微信小程序:全局优化
    (十六)微信小程序:电影详情页
    (十五)微信小程序:优化电影页面
    (十四)微信小程序:上拉加载 下拉刷新
    (十三)微信小程序:更多电影页面
    管理:会议纲要
  • 原文地址:https://www.cnblogs.com/yuzhanhong/p/9269196.html
Copyright © 2011-2022 走看看