码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 简介

时间:2018-07-26 19:51:31      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:exception   core   用途   odi   mysqld   port   auto   passwd   alt   

MySQL常用操作命令行


  1、数据库操作

  #创建数据库
    creat database 数据库名 charset=utf8;
  #删除数据库
    drop database 数据库名;
  #切换数据库
    use 数据库名



  2、数据表命令

  #查看所有表
    show tables;
  #创建表
    creat table 表名(字段,类型,约束);
    id int auto_increment premary key not null
  #删除表
    drop table 表名
  #修改表
    alter table 表名 add|change|drop 列名 类型 约束;
  #查看表的结构
    desc 表名


  
  3、操作数据命令

  #插入一行数据
    insert into 表名() values();
  #修改数据
    updata 表名 set 字段名=值
  #删除数据
    delete from 表名
  #逻辑删除:使用isDelete属性,修改其默认值代替物理删除



  4、数据备份与恢复(需在根路径下操作)

  备份:mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql;
       按提示输入mysql的密码
  恢复:mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql
       根据提示输入mysql密码

 

  5、数据查询

  a.  查看/筛选表的内容
    select 后面加 distinct 可以消除完全相同的行数据
    select后面可以加列的信息
    where后面加逐行筛选条件
      select * from 表名 where 条件;

  b.  模糊查询
    使用关键字 like
    %代表任意多个字符
    _代表一个任意字符
      select * from 表名 where 条件 like 条件表达式;

  c.  范围查询
    in: 在一个非连续的范围内
    between 数字 and 数字 :在连续范围内
      select * from 表名 where 条件 in(范围);

  d.  空判断
    null 与 ‘‘ 不同,null没有指向,‘‘指向空字符串
    判空 is null

  6、聚合

  a.  计算总行数,count(*)
    select count(*) from 表名;

  b.  求最大最小值
    select max(列名)/min(列名) from 表名 where 条件;

  c.  求和与平均值
    select sum(列名)/avg(列名) from 表名 where 条件;

  7、分组

    select 列1,列2,聚合... from 表名 group by 列1,列2...;

  #分组筛选
    where 对 表即原始数据 进行筛选
    having 对 分组后的结果集 进行筛选
    select 列1,列2,聚合... from 表名 group by 列1,列2... having 条件;

  8、排序

  #asc 表示升序排列,desc 表示降序排序
    select * from 表名 where 条件 order by 列1 asc|desc,列2 asc|desc;

  9、分页

  a.  从strat 开始,获取count 条数据,从0开始计算
    select * from 表名 limit start,count;
  b.  求第n页的数据,每页显示m个
    select * from 表名 where 条件 limit (n-1)*m,m

  10、建立关系

  #在当前表建立外键
    foreign key(键名) references 目标表(目标表主键)

  11、连接查询,查询项目涉及多张表时

  #demo
    select students.name,subject.title,scores.score
    from scores
    inner join students on scores.stuid=students.id
    inner join subjects on scores.subid=subjects.id

 

  12、视图

  #为了对select语句进行封装,最终用途是查询
    creat view 视图名 as select语句

  13、事务

  #当数据被更改时使用
    begin; 在此语句后进行操作,新更改的数据将存储在内存中
    rooback; 放弃所有begin后的操作,恢复之前的数据
    conmmit; 确定begin之后的操作,对数据库中的数据进行修改


  demo:MySQL数据库与Python交互

  #在数据库中操作数据
  # -*- coding:utf-8 -*-
  from MySQLdb import *

  class MysqlHelper():
    def __init__(self,host,port,db,user,passwd,charset = utf8):
      self.host = host
      self.port = port
      self.db = db
      self.user = user
      self.passwd = passwd
      self.charset = charset

    def open(self):
      self.conn = connect(host=self.host,port=self.port,db=self.db,

               user=self.user,passwd=self.passwd,charset=self.charset)

      self.cursor = self.conn.cursor()

    def close(self):
      self.cursor.close()
      self.conn.close()

    def modify(self,sql,params):
      try:
        self.open()

        self.cursor.excecute(sql,params)
        self.conn.commit()

        self.close()
      except Exception as e:
        print(e.message)

    def search(self,sql,params):
      try:
        self.open()

        self.cursor.excecute(sql,params)
        result = self.cursor.fetchall()

        self.close()
        return result
      except Exception as e:
        print(e.message)




MySQL 简介

标签:exception   core   用途   odi   mysqld   port   auto   passwd   alt   

原文地址:https://www.cnblogs.com/dalun101/p/9373745.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!