Python3 数据库MySQL(1)

MySQL

启动和连接MySQL服务

  • 服务端启动
    • 查看MySQL状态 : sudo service mysql status
    • 启动/停止/重启服务:sudo service mysql start/stop/restart
  • 连接数据库
  mysql    -h  主机地址   -u  用户名    -p  
  • 关闭连接
  ctrl-D
  exit

MySQL数据库结构

数据元素 --> 记录 -->数据表 --> 数据库

  • 基本概念解析
    • 数据表(table) : 存放数据的表格
    • 字段(column): 每个列,用来表示该列数据的含义
    • 记录(row): 每个行,表示一组完整的数据

SQL语言

  • 什么是SQL

结构化查询语言(Structured Query Language),一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

  • SQL语言特点
    • SQL语言基本上独立于数据库本身
    • 各种不同的数据库对SQL语言的支持与标准存在着细微的不同
    • 每条命令以 ; 结尾
    • SQL命令(除了数据库名和表名)关键字和字符串可以不区分字母大小写

数据库管理

1.查看已有库

show databases;

2.创建库

create database 库名 [character set utf8];

e.g. 创建stu数据库,编码为utf8
create database stu character set utf8;
create database stu charset=utf8;

注意:库名的命名

  1. 数字、字母、下划线,但不能使用纯数字

  2. 库名区分字母大小写

  3. 不要使用特殊字符和mysql关键字
    在这里插入图片描述

3.切换库

use库名;
在这里插入图片描述

e.g. 使用student数据库
use student;

4. 查看当前所在库

select database();
在这里插入图片描述

5. 删除库

drop database 库名;
在这里插入图片描述

数据表管理

基础数据类型

  • 数字类型:

    • 整数类型:INT,SMALLINT,TINYINT,MEDIUMINT,BIGINT
    • 浮点类型:FLOAT,DOUBLE,DECIMAL
    • 比特值类型:BIT
      在这里插入图片描述

注意:

  1. 对于准确性要求比较高的东西,比如money,用decimal类型减少存储误差。声明语法是DECIMAL(M,D)。M是数字的最大数字位数,D是小数点右侧数字的位数。比如 DECIMAL(6,2)最多存6位数字,小数点后占2位,取值范围-9999.99到9999.99。
  2. 比特值类型指0,1值表达2种情况,如真,假
  • 字符串类型
    • 普通字符串: CHAR,VARCHAR
    • 存储文本: text
    • 存储二进制数据: BLOB
    • 存储选项型数据:ENUM,SET
      在这里插入图片描述

注意:

  1. char:定长,即指定存储字节数后,无论实际存储了多少字节数据,最终都占指定的字节大小。默认只能存1字节数据。存取效率高。
  2. varchar:不定长,效率偏低 ,但是节省空间,实际占用空间根据实际存储数据大小而定。必须要指定存储大小 varchar(50)
  3. enum用来存储给出的多个值中的一个值,即单选,enum(‘A’,‘B’,‘C’)
  4. set用来存储给出的多个值中一个或多个值,即多选,set(‘A’,‘B’,‘C’)

表的基本操作

  • 1.创建表

create table 表名(字段名 数据类型 约束,字段名 数据类型 约束,…字段名 数据类型 约束);

  • 字段约束
    • 如果你想设置数字为无符号则加上 unsigned
    • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
    • DEFAULT 表示设置一个字段的默认值
    • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
    • PRIMARY KEY 关键字用于定义列为主键。主键的值不能重复,且不能为空。
      在这里插入图片描述
  • 查看数据表

show tables;
在这里插入图片描述

  • 查看表结构

desc 表名;
在这里插入图片描述

  • 查看数据表创建信息

show create table 表名;
在这里插入图片描述

  • 删除表

drop table 表名;
在这里插入图片描述

表数据基本操作

插入(insert)

insert into 表名 values(1),(2),...;
insert into 表名(字段1,...) values(1),...;
insert into student values
(1,"Tom",18,"男",175),
(2,"Jack",17,"男",183),
(3,"Anna",19,"女",163),
(4,"Rose",20,"女",156);

在这里插入图片描述

查询(select)

select * from 表名 [where 条件];
select 字段1,字段2 from 表名 [where 条件];

在这里插入图片描述

e.g. 
select * from class_1;
select name,age from class_1;

在这里插入图片描述

where子句

where子句在sql语句中扮演了重要角色,主要通过一定的运算条件进行数据的筛选,在查询,删除,修改中都有使用。

  • 算数运算符
    在这里插入图片描述
e.g.
select * from class_1 where age % 2 = 0;

在这里插入图片描述

  • 比较运算符
    在这里插入图片描述
e.g.
select * from class_1 where age > 8;
select * from class_1 where age between 8 and 10;
select * from class_1 where age in (8,9);

在这里插入图片描述
在这里插入图片描述

  • 逻辑运算符
    在这里插入图片描述
e.g.
select * from class_1 where sex='m' and age>9;

在这里插入图片描述

  • 前情回顾
  1. 基本概念

    数据库 : 硬盘中的一块空间,按照一定的结构存储数据
    数据库管理系统:一个软件

    数据库分类:关系型 非关系型

    关系型数据库 : 表 字段 记录 数据元素 二维表

    mysql的特征 : 开源 关系型 应用广泛 操作方便

    安装mysql

  2. sql语句 操作关系型数据库

    数据库

    create database [db] charset=utf8;
    show databases;
    use [db];
    select database();
    drop database [db];

    数据表

    show tables;
    create table [tb] (col type,…);
    desc [tb];
    drop table [tb];
    show create table [tb];

    数据类型
    数字: 整数 小数 bit
    字符串: char varchar text blob
    enum set

    约束 : primary key auto_increment
    not null
    default xx
    unsigned
    comment “xxxxx”

cookie :

create table test (id int primary key ,
name varchar(30) not null comment “姓名”)

  1. 数据操作

增 :
insert into [tb] (col1,…) values (val1,val2);

查找:
select col1,col2 from [db] where…

where字句:筛选记录

+ - * / %
>  <  >= <=  = !=  between  is null in
not and or

cookie: 查询时区分字母大小写,字段前加 binary

select * from class_1 where binary name=“Tom”;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值