一数据库基本概念

  基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上。

  如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题。

  但是会出现以下问题:1 数据安全问题,如果电脑挂了怎么办,无法做到集群。

            2 数据格式不统一,数据无法共享;

            3 并发问题。。。

以上问题是所有开发者都面临的问题,所以有人就站出来说,我给你们开发好一个专门存储管理数据的软件,这就是数据库(RDBMS 数据库管理系统),市面上的数据库软件有很多种类,

其中大致可以分为两类;  

  1 关系型数据库:oricle, db2, access ,spl server,mysql

  2 非关系型数据库:redis  mongodb memcache

这两种类型分别又有什么样的特点呢:关系型数据库,存储数据的时候,对于数据条件限制;其次数据与数据之间有关联。

                   非关系型数据库,数据存储方式是k,v键值对的形式存储,数据与数据间么有关联,值没有条件限制。

  总结:mysql就是帮助我们远程在文件上做相应操作的

MYSQL 数据库的安装

  1 启动

    服务端启动 mysqld

     客户端启动 mysql -uroot -p

  2 查看所有库 show databases;

  3 环境变量设置:将bin 文件路径添加到环境变量

  4 将mysql制作成系统服务(开机自启)

    1 关掉服务:查找进程号tasklist |findstr mysql  杀掉进程:taskkill /F /PID 进程号

2 执行命令:mysqld --install

  3 重启服务:net start mysql

    查看本机服务:services.msc

5 更改密码: mysqladmin -uroot -p原密码 password 新密码

   6 破解密码:

     1.先关闭服务端

      cmd找进程:tasklist|findstr mysql

      杀进程:taskkill /PID 进程号

      2.以跳过用户密码认证模式重新启动服务端
              mysqld --skip-grant-tables
        3.以管理员登录
        4.修改mysql库里面的user表
        update mysql.user set password=password(123) where user='root' and host='localhost';
        5.先关闭跳过验证的服务端,以正常模式启动服务端
        6.输入用户名密码正常登陆

     7.解决编码问题

  

  数据库初始化:mysqld --initialize-insecure

查询服务器启动错误: mysqld --console
        

[mysqld]    #服务端配置
port = 3306 # 默认端口号
basedir=D:\mysql # 文件目录
datadir=D:\mysql\data # 数据库目录
max_connections=200 # 客户端最大连接数
character-set-server=utf8 # 统一字符编码
collation-server=utf8_general_ci # 排序规则
default-storage-engine=INNODB # 默认存储引擎为innodb
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8 # 同一字符编码utf-8
[client]
default-character-set=utf8 # 统一字符编码utf-8

基本的sql语句

  对数据的增删改查

操作 库(文件夹) 表(文件) 记录
create database 库名 charset utf8; creat table 表名(name char,age int);

insert into 库名.表名 values(‘egon’,18);

into 可加可不加,库名不指定,默认就是在当前库下

alter database 库名 charset utf8;

alter table 表名 modify name char(15);

alter table 表名 column 字段名 字段类型;新增列

update 库名.表名 set name='dsb' where age=18;

show databases;

show create database 库名;

show tables;

show create table 表名;查看表详细信息

describe 表名;查看表结构

selcet age,name from 库名.表名;

库名可以不指定,默认当前库下。

select * from 表名;

drop database 库名; drop table 表名;

delete from 库名.表名 where age>3;

delete from 库名.表名 where name=‘egon’

这里注意如果少了引号,后面无论敲什么都没有用了需要将引号补全。

       

表操作

文件的格式有很多种,对应打开的软件也有很多种,例如 txt,pdf 等等,针对不同类型的文件,需要对应不同的软件帮助我们去操作。

  查看所有的存储引擎  show engines;

四种需要了解的引擎:innodb myisam blackhole  memory

  

innodb myisam blackhole memory

两个文件(frm idb )

frm 空表

idb 数据

三个文件(frm MYd MYI)

MYI 索引

一个文件(frm) 一个文件(frm)

存储引擎
  不同的应用软件处理不同类型的数据
  mysql5.5版本及以上默认的存储引擎是innodb;
  innodb:支持行锁表锁,外键,事物,安全性更高,较myisam数据更安全;
  myisam:仅仅支持表锁不支持行锁,查询速度较innodb更快;
  memory:内存引擎,将所有的数据直接放在内存,一旦断电数据全部消失;
  blackhole:一切存入其中的数据都会消失;
  指定表的引擎:create table t1(id int,name char(16))engine=innodb;

MySQL-数据库安装及基本SQL语句的更多相关文章

  1. Python3:sqlalchemy对mysql数据库操作,非sql语句

    Python3:sqlalchemy对mysql数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- co ...

  2. 如何找出MySQL数据库中的低效SQL语句

    面对业务的迅猛发展,DBA的一项重要工作就是及时发现数据库中的低效SQL语句,有的可以立刻着手解决(比如缺少合适的索引),有的需要尽快反馈给开发人员进行修改. MySQL数据库有几个配置选项可以帮助我 ...

  3. Django中使用mysql数据库并使用原生sql语句操作

    Django自身默认使用sqlite3这个轻量级的数据库,但是当我们开发网站时,sqlite3就没有mysql好,sqlite3适合一些手机上开发使用的数据库. 准备的软件mysql数据库,版本5.7 ...

  4. 数据库安装和基本sql语句

    数据库概念 文件作为数据进行存储,数据格式千差万别 将保存数据的地方统一起来 MYSQL--------->一款应用软件 用来帮你操作文件的 只要是基于网络通信,底层就是socket 服务端 - ...

  5. MySQL数据库优化技术之SQL语句慢查询定位

    通过show status命令了解各种SQL的执行频率 MySQL客户端连接成功后,通过使用show [session|global] status 命令可以提供服务器状态信息: 其中的session ...

  6. mysql数据库表的基本操作sql语句总结

    1,命令行登录命令 mysql -h localhost -u root -p C:\Users\lenovo>mysql -u root -p Enter password: ***** We ...

  7. MySQL数据库增删改查SQL语句(2018整理集合大全)

    查看数据库 show databases;  使用数据库 use 数据库名; 创建数据库 CREATE DATABASE 数据库名; 删除数据库 DROP DATABASE 数据库名; 创建表 cre ...

  8. MySQL数据库(一)—— 数据库介绍、MySQL安装、基础SQL语句

    数据库介绍.MySQL安装.基础SQL语句 一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 ...

  9. [MySQL数据库之数据库相关概念、MySQL下载安装、MySQL软件基本管理、SQL语句]

    [MySQL数据库之数据库相关概念.MySQL下载安装.MySQL软件基本管理.SQL语句] 数据库相关概念 数据库管理软件的由来 数据库管理软件:本质就是个C/S架构的套接字程序. 我们在编写任何程 ...

  10. 数据库MySQL经典面试题之SQL语句

    数据库MySQL经典面试题之SQL语句 1.需要数据库表1.学生表Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学 ...

随机推荐

  1. ZJOI2015 幻想乡战略游戏 动态点分治_树链剖分_未调完

    Description 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来, ...

  2. Django 连接MySQL 通过pymysql 库

    ython3 如何安装pymysql 库,在此不再做多的讲解,如果有想知道如何安装的朋友,请求参考下面的连接地址: 第一步:应用setting.py 文件设置mysql 数据库连接相关属性.   DA ...

  3. Flex简易教程

      常见的前端布局模型涵盖浮动.定位和弹性盒等 CSS 技术,其中浮动和定位技术往往在制作自适应布局页面时显得不够优雅--对于浮动布局,前后端分离时代很多时候我们并不知道每行会遍历显示多少个元素,每个 ...

  4. 关于linux三种网络形式

    今天是开始的第一天,额,没什么仪式.舍友偶然间提醒我,应该把学习的东西,做一下规划和整理.我想一想也是对的.所以开通了这个.希望以后回来可以看看自己曾经的幼稚,那证明了我不断在学习在进步.最近在准备C ...

  5. ie固定table单元格宽度

    <table border="0" style="width:690px; table-layout:fixed;"> <tr> < ...

  6. oracle schema彻底理解

    oracle中的Schema简析 在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,这样 ...

  7. ZOJ 3203

    很简单的一题,注意墙上的影子是放大就行.用三分. #include <iostream> #include <cstdio> #include <cstring> ...

  8. [Tailwind] Apply mobile-first Responsive Classes in Tailwind

    In this lesson, we take a look at tailwind's mobile-first CSS architecture and learn how to apply st ...

  9. CentOS6.5下安装远程桌面服务端软件VNC Server

    VNC 使您能够远程訪问和控制您的计算机从还有一计算机或移动设备上,不管你在世界的不论什么地方. 常见的使用情形,包含给同事和朋友提供桌面支持.远程管理您的服务器. 将 VNC Server部署到您想 ...

  10. mysql基础综述(四)

    1.数据库的简单介绍 1.1 数据库,就是一个文件系统,使用标准sql对数据库进行操作 1.2 常见的数据库 oracle  是oracle公司的数据库,是一个收费的大型的数据库 DB2,是IBM公司 ...