美文网首页
MySQL基础

MySQL基础

作者: ZplD | 来源:发表于2018-09-04 20:52 被阅读0次

一. MySQL的安装

  • Linux下的MySQL安装

    sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty main universe' // 添加库
    sudo apt-get update // 更新
    sudo apt-cache search mysql | grep mysql-server // 搜索可下载的版本
    sudo apt install mysql-server-5.6 // 安装5.6版本
    sudo systemctl enable mysql.service // 设置开机启动
    

二.数据库的连接与状态

  • 服务的状态

    sudo systemctl status mysql.service // 查看数据库服务状态,显示绿灯即在开启状态
    sudo systemctl start mysql.service // 开启数据库服务
    sudo systemctl stop mysql.service // 关闭数据库服务
    sudo systemctl enable mysql.service // 将数据库服务设置成开机自启动
    sudo systemctl disable mysql.service // 将数据库服务开机自启动取消
    sudo systemctl restart mysql.service // 重启数据库服务
    
  • 数据库连接

    mysql -u root -p // root为数据库用户名,-p后面可接密码
    
  • 远程连接数据库

    连接远程数据库需要有IP地址,远程数据库用户,远程数据库密码,以下命令皆在mysql下

    // 创建远程用户,admin为用户名,admin123为用户密码,都可以更改
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin123' WITH GRANT OPTION;
    

    在Navicat for MySQL下选择文件>新建连接,填写对应的IP地址,数据库用户名,数据库密码,然后点击连接测试,如果弹出连接成功即可

三.MySQL分类

  • DDL【Data Definition Language】数据定义语言,用户创建、修改、删除表结构
  • DML【Data Manipulation Language】数据操作语言,用于对数据表进行增删改的操作
  • DQL【Data Query Language】数据查询语言,用于负责数据表的查询工作
  • DCL【Data Control Language】数据控制语言,用来定义访问权限和安全级别

四.Linux下的数据库服务器操作

  • 关于数据库的操作

    1. 查看数据库

      show databases; // 注意后面要加;
      
    2. 创建数据库

      creat database 数据库名 charset=utf8; // charset可加不可加,规定数据库的编码格式
      
    3. 删除数据库

      drop database 数据库名;
      
    4. 切换数据库

      use 数据库名;
      
  • 关于表单的操作

    1. 查看当前数据库的表单

      show tables;
      
    2. 创建表单

      字段即描述你该列的字符,字段类型常用的有:

      ​ int 整数

      ​ float 浮点数

      ​ char(num) 字符串,num为规定长度

      ​ bit 非1即0

      create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型...);
      
    3. 删除表单

      drop table 表名;
      
    4. 表单改名

      alter table 旧表名 rename 新表明;
      
    5. 查看表结构

      desc 表名;
      
  • 表单内部结构命令

    1. 给表单增加一个字段

      alter table 表名 add 新的字段 字段类型;
      
    2. 删除一个字段

      alter table 表名 drop 要删除的字段;
      
    3. 修改某个字段

      alter table 表名 change 旧的字段 新的字段 字段类型;
      
    4. 给某个字段添加新的属性

      alter table 表名 change 字段名 字段名 原本字段类型,要添加的新属性;
      
    5. 添加主键

      一张表单只能拥有一个主键,主键的作用为使该字段的内容唯一不重复且不能为空

      alter table 表名 change 字段名 字段名 属性 primary key(字段);
      
    6. 删除主键

      删除主键,该字段不能有自增长属性increment

      alter table 表名 drop primary key;
      
    7. 增加自增长属性

      自增长属性的意思就是如果该字段是从0开始那么后面不需要设置他就会1,2,3..下去

      alter table 表名 change 字段名 字段名 属性 increment;
      
    8. 添加约束不能为空

      即该字段内的内容不能为空,否则会报错

      alter table 表名 change 字段名 字段名 属性 not null;
      
    9. 添加默认值

      即不给该字段内容时,显示为默认值

      alter table 表名 change 字段名 字段名 属性 Default 默认值;
      

  • 表内数据操作

    1. 增添数据

      insert into 表名 values(内容1,内容2...); // 里面的内容要对应字段的顺序
      insert into 表名(字段1,字段2...) values(内容1,内容2..) ;
      // 自定义添加内容,内容与字段一一对应,并且如果有不能为空的话就必须赋值
      
    2. 修改数据

      update 表名 set 字段=新的内容; // 对该字段的所有内容进行修改
      update 表名 set 字段=新内容 where 条件; // 对指定的条件下的数据内容进行修改
      
    3. 删除数据

      delete from 表名 where 条件; // 若没有where则删除表内所有内容
      
  • 数据查询

    where加条件为通过该条件查询,条件可用逻辑运算符,关系运算符连接:

    ​ +,-,*,/ 算术运算符

    ​ and,or 与或运算符

    ​ >,<,=,>=,<=,!= 逻辑运算符

    select * from 表名 where chinese+math >150 and english>80; 
    // 表示字段chinese+字段math大于150并且字段english>80的所有信息     
    
    1. 查询整张表的信息

      select * from 表名; // *表示所有内容
      
    2. 查询整张表的部分字段信息

      select 字段1,字段2.. from 表名 // 整张表只显示字段1,字段2..的信息
      
    3. 根据条件查询

      select * from 表名 where 条件
      
    4. 查询指定行数内容

      select * from 表名 limit n m-n // 显示n-m行
      
  • 聚合函数(虚拟字段)

    max(字段) // 该字段的最大值
    min(字段) // 该字段最小值
    sum(字段) // 该字段的和
    avg(字段) // 该字段的平均值
    count(字段) // 该字段的个数
    distinct(字段) // 过滤该字段重复的值
    select *,sum(grade) from 表名;
    order by 字段// 根据该字段升序排序,order by desc为降序排序
    select * from 表名 order by chinese; // 将内容根据Chinese字段的大小升序排序
    group by 字段 // 根据这个字段分成一个组
    having 虚拟字段 // where后面只能放实际字段,而having可以放虚拟字段
    

相关文章

网友评论

      本文标题:MySQL基础

      本文链接:https://www.haomeiwen.com/subject/gsbnwftx.html