一: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;

MySQL数据库(一)的更多相关文章

  1. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  2. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

  3. MySQL数据库和InnoDB存储引擎文件

    参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...

  4. 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库

    说起Oracle数据库,以前没用过Oracle不知道,但是这1年用Oracle后,发现真的是想狂吐槽,特别是那个.NET驱动和链接字符串,特别奇葩.总归是和其他数据库不一样,标新立异,不知道为何.另外 ...

  5. CentOS下mysql数据库常用命令总结

    mysql数据库使用总结 本文主要记录一些mysql日常使用的命令,供以后查询. 1.更改root密码 mysqladmin -uroot password 'yourpassword' 2.远程登陆 ...

  6. [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率

    使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...

  7. mysql数据库主从同步

    环境: Mater:   CentOS7.1  5.5.52-MariaDB  192.168.108.133 Slave:   CentOS7.1  5.5.52-MariaDB  192.168. ...

  8. PDO连接mysql数据库

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...

  9. mysql数据库开发常见问题及优化

    mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...

  10. 如何在删除ibdata1和ib_logfile的情况下恢复MySQL数据库

    昨天,有个朋友对公司内部使用的一个MySQL实例开启binlog,但是在启动的过程中失败了(他也没提,为何会失败),在启动失败后,他删除了ibdata1和ib_logfile,后来,能正常启动了,但所 ...

随机推荐

  1. entityVo对象与entity对象

    java Web项目Service层通用接口和entityVo对象与entity对象转化问题的解决方案 原创 2015年12月17日 15:42:09 标签: java / Service / 通用工 ...

  2. SpringMVC对ServletAPI的支持和JSON格式的转换

    package com.hongcong.controller; import java.io.UnsupportedEncodingException; import java.net.URLDec ...

  3. 项目(九) 企业级Memcached服务应用实践

    一, Memcached介绍   1.1 Memcached与常见同类软件对比 (1)Memcached是什么? Memcached是一个开源的,支持高性能,高并发的分布式内存缓存系统,由C语言编写, ...

  4. mysql访问视图提示:找不到视图

    原因: 1.不存在 2.视图区分大小写(有的不区分) 3.权限问题

  5. 基于SDL2实现俄罗斯方块

    俄罗斯方块有多种旋转规则,我这里采用的是SRS.如果要改变旋转规则的话也很方便. SRS: 内容后续补充.. 代码:https://github.com/CknightX/sdl_Tetris 素材来 ...

  6. cacti 流量图合并

    cacti 安装:https://www.cnblogs.com/weijie0717/p/4072711.html 一.需求介绍 由于交换机的多端口跑同一种流量,需要汇总统计.因此需要见多个端口的流 ...

  7. 项目总结21:项目总结21:input实现多图上传(FormData)(上传OSS并保存数据库)

    项目总结21:input实现多图上传(FormData)(上传OSS并保存数据库) 备注:本案例,作为Demo,包含少量的项目业务逻辑,input多图上传的逻辑是完整的: 不废话直接上代码 1-前端标 ...

  8. 实用矩阵类(Matrix)(带测试)

    引言: 无意间看到国外一个网站写的Matrix类,实现了加减乘除基本运算以及各自的const版本等等,功能还算比较完善,,于是记录下来,以备后用: #ifndef MATRIX_H #define M ...

  9. WPF中的数据绑定(初级)

    关于WPF中的数据绑定,初步探讨 数据绑定属于WPF中比较核心的范畴,以下是对WPF中数据绑定的一个初步探讨.个人感觉还是带有问题性质的叙述比较高效,也比较容易懂 第一,什么是数据绑定? 假定有这么一 ...

  10. .NET Core PartialView 与 Ajax

    Ajax的核心是XMLHttpRequest对象(XHR),能够以异步方式从服务器获取新数据.开发主要利用Ajax来执行异步刷新和局部视图更新的功能. 而开发常常在前段页面利用JQuery封装的Aja ...