一.前期回顾

数据库

mysql的安装

配置环境

为什么要用数据库?

  稳定性

  一致性

  并发

  存取数据效率高

数据库的分类

  关系型数据库

    mysql oracle sqlserver

  非关系型数据库

    redis mangodb hbase

基础概念

  一条记录 --> 一行一行数据

   表           -->  文件

   库            -->  文件夹

  数据库     --> 存储数据的大的概念

  数据库管理系统-->  管理数据库

  数据库管理员

  数据库服务器

sql语句

  dcl :数据库控制语句  授权相关的

  ddl: 数据库定义语句  定义表  库  create

  dml : 数据库操纵语句 操作数据的相关语句

数据库的启停

启动server端

  net start mysql

启动客户端连接 server

  mysql -u用户名 -p密码  -hip地址

和用户相关的

查看当前用户 select user()

为当前用户设置密码  set password = password('密码')

创建新用户 create user 用户名@'ip字段' identitied by '密码'

授权 grant 权限 on 库.表 to 用户名@'ip' [identified by '密码']

库操作

表操作

记录操作

ddl 数据库和表的定义相关的内容

  表的设计问题

dml 操作数据库数据的相关内容

  数据库数据的基本操作

  单表查询

  多表查询

2.今日内容

  库操作

  创建库

    create database  库名  charset   utf8

   查看所有数据库

    show databases

  使用数据库

    use 库名

一,存储引擎

  什么是存储引擎(存储方式)

    同样的数据,对你来说也是同样的表,只不过指定不同的存储引擎,代表了数据在存储的时候的不同方式

  每一张是不是都有  表头  内容

name,di....

alex,222....

  存在文件里  存储2个文件  一个文件存储表结构,另一个文件存内容   a

  不存储在文件里, 而是存储在内存中  b

  存在文件里  存3个文件  一个文件存储表结构,另一个文件存内容,以一种形式存储数据来保证数据的查询速度快  c

  

  mysql 有多种不同的存储引擎

  1. # 翻译 mysql有很多种存储数据的方式,来帮助我们适应各种场景来进行数据操作
  2. # 有的时候我们对数据的存取速度要求很高 但是对数据的稳定性要求没有那么高
  3. # 有的时候我们对数据的查询速度要求高,但是对修改和删除的效率要求没有那么高
  4. # 有的时候我们需要建立表与表之间的联系
  1. # 最常用 InnoDB、MyISAM
  2. # mysql5.5 - 5.7
  3. # mysql 5.5 MyISAM 默认的存储引擎
  4. # mysql 5.6 InnoDB 默认的存储引擎
  1. # mysql中存储引擎决定的事情:
  2. # 行级锁 表级锁
  3. # 支持事务
  4. # 事务 让多条sql语句变成一个整体,要成功一起成功,如果其中有一条语句失败了,那么多有的状态都要回归到开始事务之前
  5. # 外键
  6. # 突出了表与表之间的联系
  7. # 索引
  8. # 书的目录
  9. # 帮助我们加快查询速度
  10. # cache
  11. # 把一部分数据放到内存中
  1. # innodb 支持事务 行级锁 聚集索引 支持外键
  2. # myisam 不支持事务\行级锁\外键 非聚集索引 表级锁
  3. # memory 只能在内存中存储数据 速度快 但是断电消失
  4. # blackhole 不存储任何数据 只是有一个表结构 用于大数据量背景下做数据分流用的

二.创建表结构
  1.创建表的具体的语法是什么 每一个词都代表了什么意思?

  1. # create table staff_info(
  2. # id int unsigned,
  3. # name varchar(11),
  4. # age int,
  5. # sex enum('male','female'),
  6. # phone char(11),
  7. # job char(10)
  8. # );
  1. # mysql中的数据类型
  2. # 1).数字类型
  3. # int 4个字节
  4. # bigint 8个字节
  5. # 2).字符串类型
  6. # char
  7. # varchar
  8. # 3).集合和枚举类型
  9. # set('1','2','3'),多选
  10. # enum('1','2'),多选1
  11. # 4).时间类型
  1. # 2.show tables; 查看所有的表名字
  2. # 3.查看表结构
  3. # 查看表的字段信息
  4. # describe 表名;
  5. # desc 表名;
  6. # 如果要查存储引擎/默认编码等其他信息
  7. # show create table 表名;
  1. # 4.插入数据
  2. # insert into 表名字 (字段名,....) values (值1,值2,值3...);
  3. # 例子 : insert into staff_info (name,age) values ('yuan',25);
  4. # insert into staff_info values (值1,值2,值3...) ;
  5. # 例子 : insert into staff_info values (1,'alex',83,'male','13838383388','IT') ;
  1. # 三 \ 基础数据类型
  2. # 1.数字类型
  3. # tinyint 1个字节 8位
  4. # print(2**8)
  5. # 0 - 255 无符号的情况下
  6. # 2**(8-1) -128-127
  7. # int 4个字节
  8. # int(5)
  9. # create table t1 (id1 int,in2 int(5));
  10. # 我们设置的int后面的长度只是 约束了 显示宽度
  11. # 所以我们输入的数字的长度可以是范围内任意的数字而不必担心宽度的设置
  12. # 但是如果我们放入了超出范围的数字,那么只能写入当前范围内能描述的最大值
  13. # float(一共m位,小数部分占n位)
  14. # 保留n位小数,并且四舍五入保留
  1. # 2.时间类型
  2. # date 年月日 可以为空 没有默认值 表示时间范围长
  3. # datetime 年月日时分秒 可以为空 没有默认值 表示时间范围长
  4. # timestamp年月日时分秒 不能为空 默认插入当前时间 并且随update语句更新字段 表示时间范围短
  5. # date支持的写入 insert into 表名 values('2018-12-17')
  6. # datetime\ timestamp支持的写入
  7. # insert into 表名 values('2018-12-17 11:56:20')
  8. # insert into 表名 values('20181217115620')
  9. # insert into 表名 values(20181217115620)
  10.  
  11. # 3.字符串类型
  12. # char 定长,存在空间浪费,速度快
  13. # char(12) 长度比较固定的内容 : 身份证号 手机号码 银行卡号 用户名 密码
  14. # 'abc' --> 'abc '
  15. # 'abcdef'--> 'abcde'
  16. # varchar 不定长,不浪费空间,速度慢
  17. # varchar(255) 评论
  18. # 'abc' --> 'abc3' 占4个字节
  19. # 'abcde' --> 'abcde5'占6个字节
  20.  
  21. # 4.set和enum
  22. # enum
  23. # 单选
  24. # 选错不生效
  25. # set
  26. # 多选
  27. # 选错不写入
  28. # 自动去重

day45 Pyhton 数据库Mysql 02的更多相关文章

  1. day49 Pyhton 数据库Mysql 06

    多表查询 连表查询 要进行连接,那一定涉及两个表,两个表中要有关联条件才能进行连接 内连接 只有表一和表二中的连接条件都满足的时候才能显示出来 inner join on /where 条件 sele ...

  2. day46 Pyhton 数据库Mysql 03

    一内容回顾 存储引擎:主要描述的是数据存储的不同方式 innodb 支持事务\支持外键\行级锁\聚焦索引 myisam 不支持事务\不支持外键\表级锁\非聚焦索引 memory 只能在内存中存储表数据 ...

  3. day44 Pyhton 数据库Mysql

    内容回顾 什么是进程? 就是为了形容执行中的程序的一种称呼 它是操作系统中资源分配的最小单位 进程之间是数据隔离的,占用操作系统资源相对多 独立存在的 谈谈你对并发的理解 同时有多个任务需要执行,但是 ...

  4. day48 Pyhton 数据库Mysql 05

    一内容回顾 insert insert into 表名 (字段名)  values (值) insert into 表名 values (有多少个字段写多少个值) insert into 表名 val ...

  5. day47 Pyhton 数据库Mysql 04

    # 表结构 # 建表 - 表的增加 # create table # 删表 - 表的删除 # drop table # 改表 - 表的修改 # alter table 表名 # rename 新表名 ...

  6. 创建本地数据库mySQL并连接JDBC

    转自: http://blog.csdn.net/wei_chong_chong/article/details/44830491 如何创建本地数据库MySQL并连接JDBC 转载 2015年04月0 ...

  7. Hadoop生态组件Hive,Sqoop安装及Sqoop从HDFS/hive抽取数据到关系型数据库Mysql

    一般Hive依赖关系型数据库Mysql,故先安装Mysql $: yum install mysql-server mysql-client [yum安装] $: /etc/init.d/mysqld ...

  8. 第二百八十五节,MySQL数据库-MySQL函数

    MySQL数据库-MySQL函数 1.MySQL内置函数 SELECT执行函数,后面跟要执行的函数 CHAR_LENGTH(str)函数:返回字符串的字符长度 -- CHAR_LENGTH(str)函 ...

  9. 数据库mysql的常规操作

    1. 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进 ...

随机推荐

  1. 解锁用户scott并授权

    请输入用户名: system 输入口令: 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Producti ...

  2. IDEA里如何引入JQuery

    HTML页面的JavaScript里一般可以直接使用类似:<script src="js/jquery.js"></script>语句可以直接引入,但是会遇 ...

  3. python调用接口——requests模块

    前提:安装pip install requests 导入import requests 1.get请求   result=requests.get(url,d).json()  或  .text 2. ...

  4. linux定时删除过期文件

    需求说明 每日凌晨0点定时删除/temp目录下的所有一个月未被访问的文件. 脚本实现 linux 终端输入crontab -e,添加定时任务脚本命令 [root@localhost ~]# cront ...

  5. 测试软件—禅道BUG管理工具

    入禅 目录 入禅 1.禅道的基本使用 1.禅道的基本使用 admin(管理员) 部门:创建部门(需求部门,开发部门,测试部门,项目部门,产品部门) 组织:创建用户(产品经理,项目经理,开发人员,测试人 ...

  6. 原生js实现懒加载并节流

    像淘宝网站等,页面中有着大量图片,一次性全部加载这些图片会使浏览器发送大量请求和造成浪费.采用懒加载技术,即用户浏览到哪儿,就加载该处的图片.这样节省网络资源.提升用户体验.减少服务器压力. 方法1: ...

  7. Vue等待父组件异步请求回数据'后'传值子组件

    问题: 让子组件在父组件有哪个数据的时候再渲染, 解决方案: 可以在父组件上加一个判断条件, 举例说明: <a-component :opt="opt" v-if=" ...

  8. redis哨兵机制--配置文件sentinel.conf详解

    转载自 https://blog.csdn.net/u012441222/article/details/80751390 Redis的哨兵机制是官方推荐的一种高可用(HA)方案,我们在使用Redis ...

  9. powershell中使用Send-MailMessage发送邮件

    在powershell中我们可以使用Send-MailMessage发送邮件,一般都是有这个命令的 笔者的总结是鉴于公司的环境的,大家在借鉴时,需要根据自己的实际情况进行修改 1.你笔者测试的格式如下 ...

  10. Oracle学习(八)RECORD(自定义结构)

    一.定义 记录数据类型的一种,将几个相关的.分离的.基本数据类型的变量组成一个类似于整体表结构的对象,即RECORD复合数据类型. 在使用记录数据类型变量时,需要在声明部分先定义记录的组成.记录的变量 ...