MySQL数据库的基本使用

一、数据库概述

1. 基本介绍

数据库就是以一定格式进行组织的数据的集合。通俗来看数据库就是用户计算机上 一些具有特殊格式的数据文件的集合

2. 数据库的特点

持久化存储

读写速度极高

保证数据的有效性

对程序支持性非常好,容易扩展

3. 数据库管理系统

数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的软件系统,包括三大部分构成:

  1. 数据库文件集合. 主要是一系列的数据文件, 作用是存储数据.
  2. 数据库服务端. 主要负责对数据文件以及文件中的数据进行管理.
  3. 数据库客户端. 对外通信

4. 数据库的分类

  • 关系型数据库

所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,本质上使用一张二维表来表示关系。

  1. oracle 银行,电信等项目
  2. ms sql server:在微软的项目中使用
  3. sqlite:轻量级数据库,主要应用在移动平台
  4. mysql:web时代使用最广泛的关系型数据库。
  • 非关系型数据库
  1. 键值存储数据库(key-value): 可以通过key来添加、查询或者删除数据库,Memcached、Redis、MemcacheDB等
  2. 列存储(Column-oriented)数据库: 列存储数据库将数据存储在列族中,一个列族存储经常被一起查询的相关数据,Cassandra、HBase
  3. 面向文档(Document-Oriented)数据库: 面向文档数据库会将数据以文档形式存储,MongoDB、CouchDB
  4. 图形数据库: 图形数据库允许我们将数据以图的方式存储,Neo4J、InforGrid

二、MySQL数据库的使用

1. 常用数据类型如下:

  • 整数:int,bit
  • 小数:decimal
  • 字符串:varchar,char
  • 日期时间: date, time, datetime
  • 枚举类型(enum)

特别说明的类型如下:

  • decimal表示浮点数,如 decimal(5, 2) 表示共存5位数,小数占 2 位.
  • char表示-固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为 'ab ' .
  • varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab'
  • 注意 : 对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储 这个文件的保存路径. 字符串 text 表示存储大文本,当字符大于 4000 时推荐使用, 比如技术博客.

2. 数据约束

  • 主键 primary key: 物理上存储的顺序. MySQL 建议所有表的主键字段都叫 id, 类型为 int unsigned.
  • 非空 not null: 此字段不允许填写空值.
  • 惟一 unique: 此字段的值不允许重复.
  • 默认 default: 当不填写字段对应的值会使用默认值,如果填写时以填写为准.
  • 外键 foreign key: 对关系字段进行约束, 当为关系字段填写值时, 会到关联的表中查询此值是否存在, 如果存在则填写成功, 如果不存在则填写失败并抛出异常.

三、数据库相关的操作


数据库(database)的操作

Linux下运行数据库的命令

  1. 数据库登录

    mysql -uroot -p
  2. 提示输入密码

    mysql -uroot -p'passwd'
  3. 数据库服务器状态的查看

    sudo service mysql status
  4. 数据库服务器停止

    sudo service mysql stop
  5. 数据库服务器启动

    sudo service mysql start
  6. 退出数据库

    Ctrl+d
    quit
    exit

数据库系统命令

  1. 查看所有数据库

    show databases;
  2. 查看版本

    select version();
  3. 查看当前使用的数据库

    select database();
  4. 显示当前时间

    select now();
  5. 使用数据库

    use 数据库名;
  6. 创建数据库

    create database 数据库名 charset=utf8;
  7. 删除数据库

    drop database 数据库名;

表(table)结构的操作

  1. 展示当前数据库中所有的表

    show tables;
  2. 查看表结构的描述信息

    desc stu;
  3. 创建一个表结构

    CREATE TABLE table_name()
  4. 修改表的名字

    alter table 原表名 rename 新表明;
  5. 修改表-添加字段

    alter table 表名 add 列名 类型;
  6. 修改表-修改字段:重命名版

    alter table 表名 change 原名 新名 类型及约束;
  7. 修改表-修改字段:只改约束和类型

    alter table 表名 modify 列名 类型及约束;
  8. 修改表-删除字段

    alter table 表名 drop 列名;
  9. 删除表-慎重

    drop table 表名;
  10. 查看表的创建语句-详细过程

    show create table 表名;

表数据的操作

  1. 增(插入)

    insert [into] 表名称 (列1,列2,列3),(列1,列2,列3)#需要哪个填哪个,不写默认按照原数据顺序  values (值1, 值2, 值3),(值1, 值2, 值3)#要插入的数据值,可以多个元组;
  2. delete from 表名 where 条件;
  3. update 表名 set 字段名=新值(可多个参数,逗号隔开) where 条件(可用比较公式);
  4. select * from stu;
    select age,name from stu;

MySQL数据库的基本使用简单易懂的更多相关文章

  1. MySQL数据库的环境及简单操作

    ***********************************************声明*************************************************** ...

  2. MySQL数据库执行计划(简单版)

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库执行计划简单版时间:2019年2月25日内容:MySQL数据库执行计划简单版重点:MySQL ...

  3. 安卓版php服务器的mysql数据库增删改查简单案例

    界面: index.php文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  4. MySql数据库在NodeJS中简单的基本操作

    阅读目录 一:连接数据库 二:数据的增删改查操作 2.1 数据库新增和查询数据 2.2 获取该数据的主键值 2.3 多语句查询 回到顶部 一:连接数据库 const mysql = require(' ...

  5. MySQL数据库单例连接简单实现(MySQL扩展)

    <?php /** * MySQL数据库单例实现 * * @author shizq at 2015-04-22 * */ final class MySQLFactory { private ...

  6. 面试题: mysql数据库 已看1 简单的sql练习

    数据库总结--MySQL常见面试题 2015年03月24日 17:56:06 阅读数:7787 1.根据部门号从高到低,工资从低到高列出员工的信息 select * from employee ord ...

  7. MySQL数据库—查询基础,简单查询,条件查询,对查询结果排序

    一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...

  8. mysql数据库基本知识,简单框架

    https://www.cnblogs.com/geaozhang/p/7347950.html

  9. python连接mysql数据库简单例子

    今天用pyhton2连接本地的mysql数据库,总的来说比较简单,但还是遇到一些小问题 代码如下: # -*- coding: utf-8 -*- import os import MySQLdb i ...

随机推荐

  1. mysql sql执行计划

    查看Mysql执行计划 使用navicat查看mysql执行计划: 打开profile分析工具: 查看是否生效:show variable like ‘%profil%’; 查看进程:show pro ...

  2. [转帖]SAP一句话入门:Finacial & Controlling Accounting

    SAP一句话入门:Finacial & Controlling Accounting http://blog.vsharing.com/MilesForce/A621147.html 财务,财 ...

  3. Python turtle绘制阴阳太极图代码解析

    本文详细分析如何使用Python turtle绘制阴阳太极图,先来分解这个图形,图片中有四种颜色,每条曲线上的箭头表示乌龟移动的方向,首先从中心画一个半圆(红线),以红线所示圆的直径作半径画一个校园, ...

  4. Python:matplotlib绘制线条图

    线型图是学习matplotlib绘图的最基础案例.我们来看看具体过程:  下面我们将两条曲线绘制到一个图形里:   可以看到这种方式下,两个线条共用一个坐标轴,并且自动区分颜色. plot方法的核心是 ...

  5. DAY03、基本数据类型和运算符

    一.基本数据类型的使用 1.整型int: 作用:用来记录年龄.等级.数量 定义:age=18 使用:数学运算与比较运算: 例:print(10>3) print(10/3) 2.浮点型float ...

  6. python数据结构与算法第七天【链表】

    1.链表的定义 如图: 注意: (1)线性表包括顺序表和链表 (2)顺序表是将元素顺序地存放在一块连续的存储区里 (3)链表是将元素存放在通过链构造的存储快中 2. 单向链表的实现 #!/usr/bi ...

  7. 老男孩python学习自修第十三天【md5加密】

    示例代码如下: hashlib_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import hashlib def genPasswd(na ...

  8. c#处理json数据最好的方式,没有之一。

    c#处理json数据最好的方式,没有之一. 引用Json.Net(需要.NET 4.5及以上版本) using Newtonsoft.Json.Linq; 使用非常简单 JObject result ...

  9. sql left join多表

    表A---------------------------------关联第一张表B-----------------------关联第二张表c select * fomr 表名A left join ...

  10. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.mybatis.spring.mapper.MapperScannerConfigurer#0'

    七月 05, 2018 10:26:54 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRul ...