2018-4-1

作者: 那你很棒啊o | 来源:发表于2018-04-07 19:54 被阅读0次

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开始

相关文章

  • Daily Writing

    2018-4-1 1.Steve jobs is commonly credited with being the...

  • 2018-4-1

    每一天都为自己找笑的理由,难过的时候不要陷在里面,想一切办法让自己开心起来。

  • 2018-4-1

    mysql 内容简介 数据库是当前应用非常广泛的一款关系型数据库 主要的知识点包括 数据库与表的操作 数据的增加 ...

  • 2018-4-1

    小七,出生在某个小山村,现在漂泊在南方的某个小镇,坚强的生活着,把所有的一切都放在心里藏着。 你总是把自己打扮的像...

  • 2018-4-1

    去了趟南沙自贸区,跟小学初中的同学喝酒聊天,听闻以前班上的同学有好几个在外面做生意发了财,人生变化真是太大。 来去...

  • 2018-4-1

    又是一年花开的季节了,我好想你,你什么时候能回来?

  • 2018-4-1

    忙碌的三月过去了,检视一下发现收获颇多。特别是在工作失去激情的情况下,运用老师的目标感,复盘的叠加效应,竞然完成了...

  • 2018-04-01周日祷告词

    2018-4-1 为妻子祷告: 相夫教子! 【经文】 愚昧的儿子是父亲的祸患; 妻子的争吵如雨连连滴漏。 (箴言 ...

  • 一白

    半生所累千层秋, 一白浮尽万古愁。 我辈当弃前尘事, 余生不羁览自由。 2018-4-1

  • 尊古太极习拳小记2018-4

    2018-4-1(周日)晴天;15-27度 站功功不可没 自从确立了“站功”的概念,对自己打拳的进步很有帮助。无时...

网友评论

    本文标题:2018-4-1

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