mysql之一.初识mysql

 

1.1数据库管理软件分类

  • 管理数据的工具有很多种,不止mysql一个。关于分类其实可以从各个纬度来进行划分,但是我们最常使用的分类还是根据他们存取数据的特点来划分的,主要分为关系型和非关系型。

  • 可以简单的理解为,关系型数据库需要有表结构非关系型数据库是key-value存储的,没有表结构

    #关系型:如 sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
    #非关系型:mongodb,redis,memcache

1.2mysql

  • MySQL是一个关系型数据库管理系统 ,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

1.3下载和安装

mysql的安装、启动和基础配置 —— linux版本

mysql的安装、启动和基础配置 —— mac版本

mysql的安装、启动和基础配置 —— windows版本

1.4 mysql的cs架构

  • mysqld install 安装数据库服务

  • net start mysql 启动数据库的server端

  • net stop mysql 停止server端

  • 客户端可以是python代码,也可以是一个程序

    • mysql.exe 是一个客户端

    • mysql -u用户名 -p密码

1.5mysql的用户和权限

  • 在安装一个数据库后,有一个最高权限的用户root

  • mysql -h 连接ip地址,如果不写默认连接本地

  • 我们的mysql客户端不仅可以连接本地的数据库,也可以连接网络上某个数据库的server端

  • mysql>select user()

    • 查看当前用户是谁

  • mysql>set password = password('密码')

    • 设置密码

  • mysql>create user 's21'@'192.168.12.%' identified by '123';

    • 创建用户

  • mysql>show databases;

    • 查看文件夹

  • mysql>creat database day37;

    • 创建文件夹

  • mysql>grant all on day37. * to 's21'@'192.168.12.%'; #赋予day37中所有表的所有权限

    • 授权并创建用户

    • flush privileges 让权限立即生效

    • mysql>grant all on day37. * to 'alex'@'%' identified by '123';

  • mysql>show grants for 's21'@'192.168.12.%';

    • 查看当前用户有哪些权限

1.6库,表.数据

  • 创建库,创建表 DDL(数据库定义语言)

  • 存数据,删数据,修改语言,查看 DML(数据库操纵语言)

  • grant revoke DCL(控制权限)

1>.库操作

  • mysql>creat database 数据库名;

    • 创建库

  • mysql>show databases;

    • 查看当前有多少数据库

  • mysql>select database();

    • 查看当前使用的数据库是什么

  • mysql>use 数据库名;

    • 切换到这个数据库(文件夹)下

  • mysql>drop datatbase

    • 删库(不要轻易使用,除非逼不得已)

2>.表操作

  • mysql>show tables;

    • 查看当前文件夹中有多少张表

  • mysql>create table student(id int,name char(4));

    • 创建表

  • mysql>drop table student;

    • 删除表格

  • mysql>desc 表名

    • 查看表字段的基础信息

  • mysql>show create table 表名

    • 能够看到和这张表相关的所有信息

  • mysql>describe 表名

3>.操作表中的数据

  • mysql>insert into student values(1,'alex')

    • 数据的增加

  • mysql>select * from student;

    • 数据的查看

  • mysql>update 表 set 字段名 = 值

    • 修改数据

    • 例 : mysql>update student set name = 'yuan';

      • 会修改全部

    • 例 : mysql>update student set name = 'yuan' where id = 2 ;

      • 会修改要修改内容

  • mysql>delete from 表名字

    • 删除数据

#总结:
  #SQL:结构化查询语言(Structured Query Language)
     #DDL((Data Definition Language) 数据库定义语言
     #是用于描述数据库中要存储的现实世界实体的语言。
        #创建用户
           # mysql>create user '用户名'@'%'   表示网络可以通讯的所有ip地址都可以使用这个用户名
           # mysql>create user '用户名'@'192.168.12.%'   表示192.168.12.0网段的用户可以使用这个用户名
           # mysql>create user '用户名'@'192.168.12.87'  表示只有一个ip地址可以使用这个用户名
     #创建库
        # mysql>creat database day38;
        #创建表
        # mysql>creat table 表名(字段名 数据类型(长度),字段名 数据类型(长度),)
      
    #DML(Data Manipulation Language) 数据库操纵语言
    #是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序必定会使用到的指令,因此有很多开发人员都把加上SQL的SELECT语句的四大指令以“CRUD”来称呼。
      # mysql>insert into student values(1,'alex')  增
      # mysql>delete from 表名字                     删
      # mysql>update 表 set 字段名 = 值              改
      # mysql>select/show                           查
          #select
            # mysql>select user(); 查看当前用户
            # mysql>select database();  查看当前所在的数据库
          #show
            # mysql>show databases;   查看当前的数据库有哪些
            # mysql>show tables; 查看当前的库中有哪些表
          # mysql>desc 表名;  查看表结构
          # mysql>use 库名;   切换到这个库下
          
     #DCL(Data Control Language) 数据库控制语言
      #grant select on 库名.* to '用户名'@'ip地址/段' identified by '密码'
原文地址:https://www.cnblogs.com/lilinyuan5474/p/11712240.html