数据库概念

将保存的数据部分,存到一个公共的地方,所有的用户涉及到数据相关都必须来这个公共地方查找

MySQL

本质就是一款基于网络通信的应用软件,任何基于网络通信的软件底层都是socket

可以把MySQL看成是一款支持远程操作文件的软件

库 >>> 文件夹

表 >>> 文件

记录 >>> 文件内一行行的数据叫做一条条的记录

表头 : 就是表格的第一行数据

字段 : 字段名 + 字段类型

服务端 mysqld

基于socket通信

收发信息

SQL语句(是一个公共的标准)

客户端 mysql

基于socket通信

收发信息

SQL语句

ps:MySQL不单单支持MySQL的客户端操作,也支持其他编程语言直接操作 python,java,c++,php 语法都不一样

DBMS:数据库管理系统

关系型数据库:数据与数据之间可以有关联和限制的,关系型数据库通常都是表结构,用关系数据库第一步是确定表结构

ps:MySQL,oracle,sqlite,db2,sql,server

非关系数据库:通常是一K,V键值对的形式存储数据

ps:redis,mongodb(文档型数据库,非常接近关系型的非关系型数据),memcache

语法

服务端 mysqld

客户端 mysql

sql语句中是以分好结束的,不敲分号默认你没有输入完,客户端还会让你继续输入

客户端登录 mysql -h 127.0.0.1 -p 3306 -uroot -p / mysql -uroot -p

客户端退出 exit; / quit;

将mysqld制作成系统服务 mysqld --install

  1. 删除原来的服务
  2. mysqld --remove mysql
  3. mysql的根目录下:
  4. 你需要清空data目录。
  5. 如果没有data目录,请自行创建一个空目录,起名为data
  6. 然后cdbin目录下:
  7. mysqld --initialize-insecure --user=mysql
  8. 然后执行:
  9. mysqld --install mysql --defaults-file=D:\develop\mysql57\my.ini
  10. 或者 mysqld --install
  11. 再执行:
  12. net start mysql

服务问题

查看某个进程 tasklist |findstr 名称

杀死进程 taskkill /F /PID 进程号

修改密码:

1.没有密码情况 mysqladmin -uroot -p password 新密码

2.有密码情况 mysqldadmin -uroot -p旧密码 password 新密码

破解密码:

先将已启动的服务端停掉

1.跳过用户名密码验证功能(授权表)启动服务端 mysqld --skip-grant-tables

2.修改管理员用户对应的密码 updata mysql.user set password=password(新密码) where user='root' and host='localhost';

3.关闭当前服务端 重新以验证用户密码的方式启动

4.正常以用户名密码的方式连接mysql服务端

查看mysql服务端简单配置 \s

配置文件:

mysql自带的配置文件不要修改,但自己可以新建一个配置文件 my.ini

mysql服务端在启动时会自动加载你的my.ini配置文件的内配置

修改完配置文件会后需要先将服务端停止 重新启动 才能生效

  1. [mysqld]
  2. character-set-server=utf8
  3. collation-server=utf8_general_ci
  4.  
  5. [client]
  6. default-character-set=utf8
  7.  
  8. [mysql]
  9. user='root'
  10. password=密码
  11. default-character-set=utf8

数据的基本操作语法

库(类似文件夹)

create database 文件名;

show databases; 查所有库

show create database 库名; 查指定的库

alter database 库名 charset='gbk'; 修改编码

drop database 库名; 删库(慎用!!!!!!!)

在创建表的时候,需要先指定库(文件创建在文件夹内)

指定库 use 库名

查看当前所在库 select database();

create table 表名(字段名 字段类型,字段名 字段类型);

show tables; 查看所在库中的所有表

show create table 表名; 指定表查看

desc 表名 <==> describe 表名; 指定查看表中的内容

alter table 表名 modify 字段 字段类型;

drop table 表名;

记录(数据)

先创建一个库或者指定一个已存在的库,切换到该库下,创建表,在操作记录

create database 库名;

create table 表名(字段 字段类型);

insert into 表名 values(对应字段的内容); 插入单挑数据

insert into 表名 values(对应字段的内容1),(对应字段的内容2),...; 插入多条数据

select * from 表名; 查询指定表中的所有字段信息

select 字段 from 表名; 查询指定表中的指定字段信息

select 字段1,字段2 from 表名 where 字段1=信息 or 字段2=信息; 带有筛选条件的字段信息

update 表名 set 字段=新信息 where 字段=信息; 修改数据的一个字段信息

update 表名 set 字段=新信息,字段=新信息 where 字段=信息; 修改数据的多个字段

delete from 表名 where id=1; 指定删复符合条件的数据

delete from 表名; 删除表中的全部数据

修改表

  1. # MySQL 对大小写不敏感
  2. 语法:
  3. 1.修改表名
  4. alter table 表名 rename 新表名;
  5. 2.增加字段
  6. alter table 表名
  7. add 字段名 数据类型[约束条件...],
  8. add 字段名 数据类型[约束条件...];
  9. alter table 表名
  10. add 字段名 数据类型[约束条件...] first; # 字段加在开头
  11. alter table 表名
  12. add 字段名 数量类型[约束条件...] after 字段名; # 加在指定字段后面
  13. 3.删除字段
  14. alter table 表名
  15. drop 字段名;
  16. 4.修改字段 # modify 只能改字段数据类型完整约束,不能改字段名,但change可以
  17. alter table 表名
  18. modify 字段名 数据类型[约束条件];
  19. alter table 表名
  20. change 旧字段名 新字段名 数据类型[约束条件];

复制表

  1. # 查询语句执行结果也是一张表,可以看成虚拟表
  2. # 复制表结构+记录 (主键,外键,索引不会被复制)
  3. create table 新表名 select * from 被复制的表名;

  4. # 只复制结构
  5. select * from 表名 where 1=2;
  6. create table 新表名 select * from 被复制的表名 where 1=2;
  7. create table 表名 like employees;

数据库概念 MySQL语法的更多相关文章

  1. Mysql数据库的简单语法

    Mysql数据库是目前使用最为广泛的数据对,对于小型企业的支持度,比oracle数据库友好很多. mysql数据库的基本语法 1:创建并且使用数据库 找出服务器上当前存在什么数据库: SHOW DAT ...

  2. MySQL——数据库和 SQL 概念&&MySQL的安装

    数据库和 SQL 概念 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它的产生距今已有六十多年.随着信息技术和市场的发展,数据库变得无处不在:它在电子商务.银行系统等众多领域都 ...

  3. 2020年数据库概念与MySQL的安装与配置-从零基础入门MySQL-mysql8版本

    作者 | Jeskson 来源 | 达达前端小酒馆 从零基础入门MySQL数据库基础课 数据的概念,简介,安装与配置,Windows平台下MySQL的安装与配置. 数据库的概念:数据库是一个用来存放数 ...

  4. 数据库(概念、语法、DBMS、SQL语言:创建数据库、表格,添加、修改、删除数据记录)

    关系型数据库:以表作为实体,以主键和外键关系作为联系的一种数据结构. 主键:在关系型数据库中,用一个唯一的标识符来标志每一行,这个标识符就是主键.主键有两个特点:非空和不能重复. 外键:在关系型数据库 ...

  5. mysql语法、特殊符号及正则表达式的使用

    http://blog.csdn.net/pipisorry/article/details/46773545 sql语言 结构化的查询语言.(Structured Query Language),是 ...

  6. Mongodb与mysql语法比较

    Mongodb与mysql语法比较   mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由 ...

  7. Oracle,SQL Server 数据库较MySql数据库,Sql语句差异

    原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...

  8. mysql语法、特殊符号及正則表達式的使用

    http://blog.csdn.net/pipisorry/article/details/46773545 sql语言 结构化的查询语言.(Structured Query Language),是 ...

  9. 数据库 之MySQL 简单教程

      So Easy系列之MySQL数据库教程 1.   数据库概述 1.1.  数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...

随机推荐

  1. LeetCode 104. 二叉树的最大深度(Maximum Depth of Binary Tree)

    104. 二叉树的最大深度 104. Maximum Depth of Binary Tree 题目描述 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说 ...

  2. ubuntu下安装amqp扩展

    目录 环境 下载扩展: 安装amqp: 验证 环境 系统 ubuntu 16.04 php 7.1 下载扩展: sudo apt-get -y install gcc make autoconf li ...

  3. 单选按钮(CheckBox)

    import React, { useState, useEffect } from 'react' import PropTypes from 'prop-types' import _ from ...

  4. k8s安装ingress

    1. 环境准备 安装nginx-ingress-controller和backend cd /etc/yum.repos.d/mainfests 下载镜像的脚本 vi ingressnginx.sh ...

  5. ES与关系型数据库的通俗比较

    1.在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中,我们可以画一些简单的对比图来类比传统关系型数据库: Relational DB -> D ...

  6. 关于Windows下的访问控制模型

    在探索Windows操作系统的过程中,发现很多有意思 的东西. Windows下的访问控制模型也是我在Github上浏览代码时,无意中发现的. 项目地址 https://github.com/Krut ...

  7. javascript进度条实现

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. Python 帮你玩微信跳一跳 GitHub Python脚本

    前言想自己搞游戏小程序的 在github 有人已经利用 python程序, 通过adb 获取不同型号安卓手机的系统截图,然后通过计算小人与目标位置距离之后得到准确的触摸时间,再通过 开发者模式里的 a ...

  9. ios下按钮click事件点击穿透问题

    和app进行混合开发的时候,一个页面使用h5写的,按钮上绑定click事件会触发下面图片上的a链接导致跳转,页面如图 顶部是一个banner,分vr.视频.图片三部分,红框处的三个nav按钮绑定cli ...

  10. shell 脚本总结

    一.SHELL脚本是什么?它是必需的吗? 一个SHELL脚本就是一个文本文件,它包含一个或多个命令.系统管理员会经常需要使用多个命令来完成一项任务,此时可以添加这些所有命令在一个文本文件(SHELL脚 ...