2018-4-1

mysql

内容简介

  数据库是当前应用非常广泛的一款关系型数据库

  主要的知识点包括

    数据库与表的操作

    数据的增加 修改 删除

    数据的查询(重点)

    与python交互

创建库与表章简介

  主要的知识点包括

    能够与mysql建立连接

    创建数据库、表,分别从图形界面与脚本界面两个方面讲解

  相关的知识点包括:

    E-R关系模型

    数据库的3范式,

    mysql中数据字段的类型,字段约束

  数据库的操作主要包括:

    数据库的操作,包括创建、删除

    表的操作,包括创建、修改、删除

    数据的操作,包括增加、修改、删除、查询,简称crud

安装

  sudo apt-get install mysql-server mysql-client

  启动

    service mysql start

  停止

    service mysql stop

  重启

    service mysql restart

  远程连接

    找到mysql配置文件并修改

        sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 将 bind-address=127.0.0.1 注释掉

  登录

    mysql -hlocalhost -uroot -p

数据完整性

  一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中

   在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束

字段类型

  数字型

    tinyint

        很小的整数

                1个字节

    int

        普通大小的整数

                4个字节

    decimal

        压缩的严格的定点数

                M+2个字节

  字符串

    char

        固定长度非二进制字符串

    varchar

        变长非二进制字符串

    text

        小的非二进制字符串

  日期

    datetime

  布尔

    BIT

约束

  主键 primary key

  非空not null

  唯一 unique

  默认 default

  外键 foreign key

使用命令连接

  打开终端

    mysql -uroot -p

  退出

    quit exit

  查看版本

    select version()

  显示当前时间

    select now()

远程连接

  mysql -h ip地址 -uroot -p

  -h后面是连接主机ip地址

  -u后面是连接的用户名

  -p回车后写密码

数据库的操作

  创建数据库

    create database 数据库名字 charset=utf8

  删除数据库

    drop database 数据库名

  切换数据库

    use 数据库名

  查看当前选择的数据库

    select database()

表操作

  查看当前数据库中所有表

    show tables;

  创建表

    create table 表名(列及类型)

        auto_increment 表示自增长

   修改表

    修改列名字

        alter table 表名 add|change|drop 列名 类型;

    修改数据段落的数据类型

        alter table 表名 modify 属性名 数据类型

    修改字段名

        alter table 表名 change 旧属性名 心新属性名

    增加字段

        alter table 表名 add 表名 属性名1 数据类型

    删除字段

        alter table 表名 deop 属性名

    指定的位置插入

        alter table 表名 add 属性名 数据类型 atfer(之后)/first(头部)

  删除表

    drop table 表名

  查看表结构

    desc 表名

  更改表的名称

    rename table 原名字 to 新表名

  查看表的创建语句

    show create table 表名

数据的操作

  查询

    select * from 表名

  增加

    全列插入

        insert into 表名 values(...)

    缺省插入

        insert into 表名(列1,...) values(值1,...)、

    同时插入多条数据:

        insert into 表名 values(...),(...)...;

  修改

    update 表名 set 列1=值1,... where 条件

        例如:update 表名 set name='123' where id=1

  删除

    delete from 表名 where 条件

数据的恢复

  数据恢复

    连接mysql,创建数据库

    退出连接,执行命令

        mysql -uroot- p 数据库名>~/desktop/备份文件.sql

  数据备份

    进入超级管理员

        sudo -s

    进入mysql目录

        cd/var/lib/mysql

    运行命令

        mysql dump -uroot - p 数据库名>~/desktop/备份文件.sql

查询

  简介

    基本用法

        select * from 表名;

    消除重复行

        select distinct 字段名 from 表名;

  条件 语法

        select * from 表名 where 条件;

    比较运算法

        等于

                =

        大于

                >

        小于

                <

        大于等于

                >=

        小于等于

                <=

        不等于

                <> !=

    逻辑运算符

        且

                and

        或

                or

        不

                not

    模糊查询

        语法

                select * from 表名 where 查询名 like '' '';

                %表示任意多个字符

                _表示一任意字符

    范围查询

        in 表示在一个非连续的范围内

                select * from 表名 where id in(1,2,6,8);

        between......and...表示一个连续的范围内

                select * from 表名 where id between 1and5;

    空判断

        判空

                is null;

        判 非空 is not null;

    优先级

        小括号,not,比较 运算符,逻辑运算符

        and比or先运算,如果同时出现并希望先算or 下需要结合()使用

    集合

        count(*) 表示计算子总行数,括号中写(*/列名) 结果是一样的

        max(列名) 表示求此列的最大值

        max(列名) 表示求此列的最大值

        min(列名) 表示求此列的最小值

        sum(列名) 表示求此列的和

        avg(列名) 表示求此列的平均值

    分组

        按照字段分组,表示此字段相同的数据会被放到一个组中

         分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中 可以对分组后的数据进行统计,做聚合

        语法

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

                例:select gender as 性别,count(*)from studentsgroup by gender;

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

                select gender as 性别,count(*)from studentsgroup by genderhaving gender=1;

                select count(*)from studentswhere gender=1;

        对比

                where是对from后面指定的表进行数据筛选,属于对原始数据的筛选

                having是对group by的结果进行筛选

    排序

        select * from 表名order by 列1 asc|desc,列2 asc|desc,...

                例:select * from students where gender=1 and isdelete=0order by id desc;

    分页

        select * from 表名limit start,count

                从start开始,获取count条数据 start索引从0开始

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,695评论 0 44
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,028评论 0 19
  • 什么是SQL数据库: SQL是Structured Query Language(结构化查询语言)的缩写。SQL是...
    西贝巴巴阅读 1,800评论 0 10
  • 认识叶子有二十多年了。 说起来真是有趣,我们一向自称十八岁的少女,但是每当讲起我们的关系,都会不约而同地说:我们是...
    南霓阅读 467评论 0 4
  • 按照万维钢老师的说法,我这么个文人对此书的议论是感叹式的。确实,我无法用科学的方法来例证我对这本书的喜爱,也无...
    太能吃不方便透露姓名阅读 1,609评论 0 33