• mysql系列--基础知识


       注:本文为mysql基础知识的总结,基础点很多若是有些不足,还请自行搜索。持续更新

     一、mysql简介


           数据库简介

           数据库是计算机应用系统中的一种专门管理数据资源的系统

           数据库是一组经过计算机处理后的数据,存储在多个文件中,而管理数据库软件被称为数据库管理系统----DBMS

           而MYSQL ORACLE等就是数据库管理系统    

           mysql是一款数据库管理软件  免费使用

           sql

            sql(结构化查询语言) 数据库管理系统通过sql语言来管理数据库中的数据。sql语言是一种数据库查询和长须设计语言。其主要用于存取数据、查询数据、更新数据和管理关系数据库系统。其中包含以下几种

           DDL语句:数据定义语言主要用于定义数据库、表、视图、索引和触发器等。包括created、 alter和drop语句

           DML语句:数据操纵语言主要用于插入数据、查询数据、更新数据和删除数据。包括insert语句、select语句、update语句和delete语句

           DCL语句:数据控制语言主要用于控制用户的访问权限。其中包括grant语句和revoke语句。

    二、mysql命令行操作


        1、进入 mysql

    mysql -u root -p

     

        退出数据库 

    mysql退出三种方法:
    mysql > exit;
    mysql > quit;
    mysql > q

       2、查看所有数据库

    show databases;

       3、创建数据库 

    
    
    CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    使用数据库

    use feng;

      4、显示选择数据库所有表

    show tables;

      5、显示某个表结构

    desc  table;
    show column from table;

      6、创建表

      

    #基本语法
     
    create table name(
           列名  类型   是否为空  默认值  自增   主键,
           列名   类型   是否为空
    )ENGINE=InnoDB  DEFAULT CHARSET=utf8
    
    not null    #不为空
    default num  #默认值
    auto_incrememt  #自增
    primary  key   #主键  

      7、删除表

    drop table  表名

    8、清空表

    delete from 表名
    #表还在,数据清空
    truncate table 表名

    9、修改表

    #添加列:
          alter table 表名 add  列名 类型
    #删除列:
          alter table 表名 drop column 列名
    #修改列:
          alter table 表名  modify column 列名
          alter  table  表名  change 原列名 新列名 类型;
    #添加主键
    alter table 表名 add primary key(列名); #删除主键 alter table 表名 drop primary key; alter table 表名 modify 列名 intdrop primary key; # 修改默认值: ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; # 删除默认值: ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; # 更改表名 rename table 原表名 to 新表名;

     10、表内容的操作

              插入内容 

    insert into 表名 (字段)  values (信息)

              删除内容 

    delete from 表名字 [where 条件]

              修改内容

    update 表名  set 列名=表达式  where 条件
    
    update 表名    set(列名)=(子查询) where 条件 

              查找内容

    select * from 表名
    select * from 表名  where 条件
    
    条件 #
    and 多个条件 select * fromwhere name='feng' and age>25 ; #between 区间 年龄在20-25 select * fromwhere age between 20 and 25; #in 多个元素中 select * fromin (22,21,23,25); #not 不在多个元素中 select * from 表 no in (20,21); #在子查询结果中 select * fromin (select age from 表2);
    通配符 #
    % %feng feng结尾的name select * fromwhere name like '%feng' #_ f_ f开头的name select * fromwhere name like 'f_'

    限制
    select * from 表 limit 5, //前五行 select * from 表 limit 0,5; //从0开始的五行 select * from 表 limit 5 offset 2; //从 第二行开始的五行

    排序
    select * fromorder byasc //从小到大 select * fromorder bydesc //从大到小 select * fromorder by 列1 desc,列2 asc //列1 从大到小 列2 小到大

    分组
    select name fromgroup by name #根据time分组 select name,time fromgroup by name, time # 根据name,timselect name,time,id fromwhere id>10 group by name,time order by id desc #获取name time id按照name time 分组从大道小排序
    select  name,age fromgroup by  age having max(id)<2 //获取name age按照age分组 获取最大id<2的数据


    一些函数
    count(*)
    sum (score) //表示和
    max(score) //表示最大数
    min(score) //表示最小数
    having #表示前面查询后结果,在处理用having 进行条件筛选

    #:group by 必须在where之后, order by 之前

    连表
    
    
    select a.name,a.phone,b.name from a,b where a.xid= b.xid
    
    有对应关系则显示所有
    select a.name,a.phone,b.name from a inner join b on a.xid=b.xid
    有对应则显示,如果b中没有,则值为null
    select a.name,a.phone,b.name from a left join b on a.xid=b.xid
    有对应则显示,如果a中没有,则值为null
    select a.name,a.phone,b.name from a right join b on a.xid=b.xid
  • 相关阅读:
    P站画师 GTZ taejune 精选4k插画壁纸
    点、向量与坐标系
    一些几何
    画直线算法 Line drawing algorithm
    DX11 学习大纲
    插值 Interpolation
    The History of Computer Graphics
    vue中的请求拦截响应
    Event loop
    小程序使用wx.navigateTo()跳转失败
  • 原文地址:https://www.cnblogs.com/jjffeng-/p/7862928.html
Copyright © 2020-2023  润新知