MySQL数据库的基本使用简单易懂
MySQL数据库的基本使用
一、数据库概述
1. 基本介绍
数据库就是以一定格式进行组织的数据的集合。通俗来看数据库就是用户计算机上 一些具有特殊格式的数据文件的集合
2. 数据库的特点
持久化存储
读写速度极高
保证数据的有效性
对程序支持性非常好,容易扩展
3. 数据库管理系统
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的软件系统,包括三大部分构成:
- 数据库文件集合. 主要是一系列的数据文件, 作用是存储数据.
- 数据库服务端. 主要负责对数据文件以及文件中的数据进行管理.
- 数据库客户端. 对外通信
4. 数据库的分类
- 关系型数据库
所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,本质上使用一张二维表来表示关系。
- oracle 银行,电信等项目
- ms sql server:在微软的项目中使用
- sqlite:轻量级数据库,主要应用在移动平台
- mysql:web时代使用最广泛的关系型数据库。
- 非关系型数据库
- 键值存储数据库(key-value): 可以通过key来添加、查询或者删除数据库,Memcached、Redis、MemcacheDB等
- 列存储(Column-oriented)数据库: 列存储数据库将数据存储在列族中,一个列族存储经常被一起查询的相关数据,Cassandra、HBase
- 面向文档(Document-Oriented)数据库: 面向文档数据库会将数据以文档形式存储,MongoDB、CouchDB
- 图形数据库: 图形数据库允许我们将数据以图的方式存储,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下运行数据库的命令
数据库登录
mysql -uroot -p
提示输入密码
mysql -uroot -p'passwd'
数据库服务器状态的查看
sudo service mysql status
数据库服务器停止
sudo service mysql stop
数据库服务器启动
sudo service mysql start
退出数据库
Ctrl+d
quit
exit
数据库系统命令
查看所有数据库
show databases;
查看版本
select version();
查看当前使用的数据库
select database();
显示当前时间
select now();
使用数据库
use 数据库名;
创建数据库
create database 数据库名 charset=utf8;
删除数据库
drop database 数据库名;
表(table)结构的操作
展示当前数据库中所有的表
show tables;
查看表结构的描述信息
desc stu;
创建一个表结构
CREATE TABLE table_name()
修改表的名字
alter table 原表名 rename 新表明;
修改表-添加字段
alter table 表名 add 列名 类型;
修改表-修改字段:重命名版
alter table 表名 change 原名 新名 类型及约束;
修改表-修改字段:只改约束和类型
alter table 表名 modify 列名 类型及约束;
修改表-删除字段
alter table 表名 drop 列名;
删除表-慎重
drop table 表名;
查看表的创建语句-详细过程
show create table 表名;
表数据的操作
增(插入)
insert [into] 表名称 (列1,列2,列3),(列1,列2,列3)#需要哪个填哪个,不写默认按照原数据顺序 values (值1, 值2, 值3),(值1, 值2, 值3)#要插入的数据值,可以多个元组;
删
delete from 表名 where 条件;
改
update 表名 set 字段名=新值(可多个参数,逗号隔开) where 条件(可用比较公式);
查
select * from stu;
select age,name from stu;
MySQL数据库的基本使用简单易懂的更多相关文章
- MySQL数据库的环境及简单操作
***********************************************声明*************************************************** ...
- MySQL数据库执行计划(简单版)
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库执行计划简单版时间:2019年2月25日内容:MySQL数据库执行计划简单版重点:MySQL ...
- 安卓版php服务器的mysql数据库增删改查简单案例
界面: index.php文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...
- MySql数据库在NodeJS中简单的基本操作
阅读目录 一:连接数据库 二:数据的增删改查操作 2.1 数据库新增和查询数据 2.2 获取该数据的主键值 2.3 多语句查询 回到顶部 一:连接数据库 const mysql = require(' ...
- MySQL数据库单例连接简单实现(MySQL扩展)
<?php /** * MySQL数据库单例实现 * * @author shizq at 2015-04-22 * */ final class MySQLFactory { private ...
- 面试题: mysql数据库 已看1 简单的sql练习
数据库总结--MySQL常见面试题 2015年03月24日 17:56:06 阅读数:7787 1.根据部门号从高到低,工资从低到高列出员工的信息 select * from employee ord ...
- MySQL数据库—查询基础,简单查询,条件查询,对查询结果排序
一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...
- mysql数据库基本知识,简单框架
https://www.cnblogs.com/geaozhang/p/7347950.html
- python连接mysql数据库简单例子
今天用pyhton2连接本地的mysql数据库,总的来说比较简单,但还是遇到一些小问题 代码如下: # -*- coding: utf-8 -*- import os import MySQLdb i ...
随机推荐
- React-Native windows环境搭建记录
1.安装jdk,SDK Jdk下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-213315 ...
- javap -v没有显示LocalVaribleTable
时隔多日,终于找到为什么javap -v .class文件没有LocalVariableTable出现 因为默认的javac编译没有生成相关的调试信息,这里我们可以通过javac -help查看指令帮 ...
- spring boot+mybatis+generator生成domain大小写问题
之前遇到一个问题,用generator生成数据库对应的domain,以前都是好好的,那天突然生成的domain都是小写的,因为我数据库里是大写的,后来找到解决办法, <table tableNa ...
- 索引使用,分析初探。(explain分析执行计划,以及强制使用force index)
促使这次探索的初衷还是因为要对一个定时脚本性能进行优化. 脚本有两个指定状态分别是status, latest_process_status,和一个超期时间expire_time进行限制. 按照我以前 ...
- KVM+QEMU虚拟化概念
概念: KVM,即Kernel-basedvirtual machine,由redhat开发,是一种开源.免费的虚拟化技术.对企业来说,是一种可选的虚拟化解决方案. 定义:基于Linux内核的虚拟机 ...
- 用织梦建站如何去掉a这个目录,还有内容页的a
1.另外建一个站点,将物理路径直接指向a即可. 2.去掉文章页生成的带a的路径: 只需要这一句话: function='str_replace("/a","" ...
- python数据结构与算法第五天【顺序表】
1.列表存储的两种方式 (1)元素内置方式 采用元素内置的方式只能存放同类型元素的数据类型,例如列表中的元素都为整形,元素类型相同,每个元素存放的地址空间大小也相同,则列表中每个元素都是顺序存放的 ( ...
- sqlserver数据库性能测试方法
测试计划-添加jdbc jar 地址(数据驱动) jdbc configuration 地址 jdbc:sqlserver://127.0.0.1:1433;databasename=XSData j ...
- vscode实现vue.js项目的过程
https://blog.csdn.net/weixin_37567150/article/details/81291433 https://blog.csdn.net/ywl570717586/ar ...
- 四、Mysql主从同步
一.MySQL Replication介绍 MySQL Replication 官方文档 Replication可以实现将数据从一台数据库服务器(master)复制到一或多台数据库服务器(slave) ...