数据库介绍、MySQL安装、基础SQL语句

一、数据库介绍

1、什么是数据库

数据库即存储数据的仓库

2、为什么要用数据库

(1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题

(2)管理不方便

(3)一个程序不太可能仅运行在同一台电脑上

# 我们在编写任何程序之前,都需要事先写好基于网络操作一台主机上文件的程序(socket服务端与客户端程序),于是有人将此类程序写成一个专门的处理软件,这就是mysql等数据库管理软件的由来,但mysql解决的不仅仅是数据共享的问题,还有查询效率,安全性等一系列问题,总之,把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写。

3、常见的数据库

#关系型数据库
数据与数据之间可以建立关联关系(用户数据和购买信息)
SQLServer
  仅支持windows
MySQL
  免费,开源,性能也不差
Oracle
  目前最牛逼的数据库,收费很高
DB2
  IBM公司,收费的,一般与计算机绑定销售 #非关系型数据库
速度贼快,key value 存取
MongoDB
redis
memcache

4、数据库相关概念

(1)数据

描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机

(2)数据库(DataBase,简称DB)

数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的

(3)数据库管理系统(DataBase Management System,简称DBMS)

就是一个软件用来管理库的  C/S程序

(4)数据库服务器、数据管理系统、数据库、表与记录的关系

记录:1 赵铁柱  10202934 18(多个字段的信息组成一条记录,即文件中的一行内容)-------->表中的一行内容

表:student,school,class  (即文件)-------->table     

数据库:mydb(即文件夹)------> database

数据库管理系统:如mysql(是一个软件)

数据库服务器:一台计算机(对内存要求比较高)

二、MySQL下载安装(MySQL5.7版本)

参考博客有 Windows版 和 Linux版:http://www.cnblogs.com/linhaifeng/articles/7126847.html#_label4

Windows版

1.安装(以管理员身份运行命令行)

# 1. 下载:MySQL 5.7
https://www.mysql.com/downloads/ # 2. 解压
如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录 # 3. 添加环境变量
【右键计算机】-->【属性】-->【高级系统设置】-->【高级】-->【环境变量】-->【在【系统变量】中找到 变量名为 Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】 # 4. 注册成系统服务(开机自动启动服务)
在命令行中输入:mysqld --install 注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:(exit 或者 quit 也可退出MySQL)
# 启动MySQL服务
net start mysql # 关闭MySQL服务
net stop mysql # 5. 登录MySQL(初始化密码为空) -h 后面写ip地址,本地的位localhost -P 端口号,MySQL默认为3306 (在本地登录MySQL可以不写 -h 和 -P )
网络登录:mysql -uroot -p -h192.168.1.1 -P3306
本地登录:mysql -uroot -p # 6. 重新设置密码(更改密码) mysqladmin.exe 用于更改密码
设置密码:mysqladmin -uroot -p password 新密码
更改密码(知道原密码):mysqladmin -uroot -p 旧密码 password 新密码 # 7.登录验证

安装和环境配置

2.安装配置完以后设置服务器与客户端的编码(以管理员身份运行命令行)

如果不设置编码,那么服务器和客户端的默认编码是不一样的,会出现乱码问题。(在登录MySQL以后,输入  \s  命令查看服务器与客户端的编码)

在mysql文件中有一个 my-default.ini 文件,该文件是一个配置文件的模板文件,可以不用理会

在mysql服务启动时会自动查看my.ini文件,并遵循其中的要求

在 my-default.ini 所在文件夹新建一个 my.ini 配置文件,然后配置
# 1.在my.ini 文件中添加一下内容
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
[mysql]
default-character-set = utf8
[client]
default-character-set = utf8 # 2. 保存文件

设置编码

若是忘记密码,可以重设密码

  • mysql库中有user表存储用户的数据
# 1. 跳过授权表启动服务器
在命令行:mysqld -skip-grant-tables # 2. 客户端无密码登录
新开一个命令行:mysql -uroot -p # 3. 在登录以后重设密码(客户端)
update mysql.user set password=password(新密码) where user="root" and host="localhost"; # 4. 重启服务,验证重设密码是否成功

三、SQL基础

退出数据库:quit 或 exit

#1. 操作数据库(文件夹)
增:create database 数据库名 charset utf8(字符编码); # 创建数据库
删:drop database 数据库名;
查:show databases; # 查看所有数据库
show create database 数据库名; #查看建库的SQL语句
改:alter database 数据库名 charset gbk(新的字符编码); #2. 操作表格(文件)
先进入某一个数据库:use 数据库名;
增:create table 表名(id int(3),name char(10)); # 创建表格
删:drop table 表名;
       truncate table 表名; # 清空表中数据
查:show tables
show create table 表名; # 查看建表sql语句
desc 表名; # 查看表结构(字段)
改:
      改结构:
         alter table 表名 add 字段名 char(3);
  alter table 表名 modify 字段名 char(3);
  alter table 表名 change 旧字段名 新字段名 char(2);
      改属性:
  alter table 表名 charset gbk(新字符编码); # 修改表的字符编码
  alter table 旧表名 rename as 新表名 # 修改表名 #3.操作数据记录(文件内容):
增:insert into 表名 values(1,'Tom'),(2,'Jack'),(3,'Tony'); # 插入时注意 值得顺序 和 类型必须与表结构一致
删:delete from 表名 where id=1; # 没有条件则删除表中所有内容
查:select * from 表名;
改:update 表名 set name='赵铁柱' where id=2; # 没有条件就全改

MySQL数据库(一)—— 数据库介绍、MySQL安装、基础SQL语句的更多相关文章

  1. mysql使用基础 sql语句(一)

    csdn博文地址:mysql使用基础 sql语句(一)  点击进入 命令行输入mysql -u root -p,回车再输入密码,进入mysql. 终端命令以分号作为一条语句的结束,可分为多行输入,只需 ...

  2. mysql(1)—— 详解一条sql语句的执行过程

    SQL是一套标准,全称结构化查询语言,是用来完成和数据库之间的通信的编程语言,SQL语言是脚本语言,直接运行在数据库上.同时,SQL语句与数据在数据库上的存储方式无关,只是不同的数据库对于同一条SQL ...

  3. MySQL开启日志记录查询/执行过的SQL语句

    作为后端开发者,遇到数据库问题的时候应该通过分析SQL语句来跟进问题所在,该方法可以记录所有的查询/执行的SQL语句到日志文件. 方法有几种,但是个人觉得以下这种最简单,但是重启MySQL服务后需要重 ...

  4. 优化、分析Mysql表读写、索引等操作的sql语句效率优化问题

    为什么要优化: 随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能会有一些差异,这时我们 就需要做一个优化调整. 数据库优化这个课题较大,可分为四大类: >主 ...

  5. 【mybatis】mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wait timeout exceeded; try restarting transaction

    今天使用mybatis和jpa的过程中,发现这样一个问题: mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wai ...

  6. SqlServer数据库表生成C# Model实体类SQL语句——补充

    在sql语句最前边加上  use[数据库名] 原链接:https://www.cnblogs.com/jhli/p/11552105.html   --[SQL骚操作]SqlServer数据库表生成C ...

  7. 《SQL Server基础——SQL语句》

    SQL Server基础--SQL语句       一.创建和删除数据库: 1.创建数据库(默认化初始值) 格式: CREATE DATABASE 数据库名称 例如: CREATE DATABASE ...

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

    一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 (3)一个程序不太可能仅运行在同一台电脑上 ...

  9. mysql数据库之基础SQL语句/语法

    SQL是现在进入互联网工作人们的必须技能之一,下面分享自己觉得很nice的SQL基本语句,从网上找了,觉得很不错,就分享给大家!简要介绍基础语句: 1.说明:创建数据库  Create DATABAS ...

随机推荐

  1. layui弹出层回调的使用

    <%@page language="java" contentType="text/html; charset=UTF-8"%> <%@ in ...

  2. 2019 ACM-ICPC 南京 现场赛 H. Prince and Princess

    题意 王子想要娶公主,但是需要完成一个挑战:在一些房间中找出公主在哪. 每个房间有一个人,他们彼此知道谁在哪个房间.可以问他们三种问题: 你是谁? 在某个房间是谁? 公主在哪个房间? 有三类人,一类一 ...

  3. Rust <6>:闭包

    单线程环境: 从宿主环境中捕获的变量,是引用,会改变原有的值,与 golang 的闭包行为一样: 以参数形式传入的变量,默认会发生 move:而 golang 的闭包参数,是宿主环境的副本,相当于在 ...

  4. 转 关于HTTP和HTTPS的区别

    关于HTTP和HTTPS的区别 运维猿 2018-12-01 07:30:00 一 HTTP和HTTPS的基本概念 1.HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答 ...

  5. libvirt虚拟机管理常用指令

    创建虚拟机 virt-install virt-install --connect qemu:///system -n $NAME -r $MEM -f $DISK -s $DISK_SIZE --v ...

  6. H5 IOS 虚拟键盘不回落的问题

    在 H5 页面中,会发现在高版本的 IOS 系统中(ios12以上)和微信版本6.7.x以上,都会发现 input 等输入框,输入内容之后发现虚拟键盘消失,但是页面出现大面积白框. 解决办法(最后加上 ...

  7. 最全的chrome显示www和https方法(全版本)

    78以前的老版本 设置如下参数 chrome://flags/#omnibox-ui-hide-steady-state-url-scheme chrome://flags/#omnibox-ui-h ...

  8. plsql的tns目录配置

    在系统环境变量中设置:TNS_ADMIN = E:\app\client\lenovo\product\12.2.0\client_1\network\admin 如果电脑中将来装了多个oracle的 ...

  9. eclipse Tomcat8.0端口占用报错和发布路径修改

    实际上我是eclipse莫名其妙调试时崩了,结果再启动也无法启动tomcat报端口占用错 修改server.xml里的端口号不是好方法,改完运行报   “ 对不起! 这里不是Web服务器” 后来研究发 ...

  10. app混合开发 fastlick.js 在ios上 input标签点击 不灵敏 处理

    ios11 上有这个问题 而老版本的ios没有 会出现这个的原因是使用fastclick.js点击后input没有获取焦点,所以只需要在fasyclick的源码的这个位置 可以直接在源码内搜索关键字找 ...