MySQL:数据类型、增删改查

1、数据库:

1)仓库(按照数据结构来组织、存储、管理数据)

2)集合(数据)

3)文件系统(本质)

数据库本身不方便直接操作,数据厂商将数据库封装成一个系统(软件),该软件可以提供便捷的操作内部数据库的方式,这种软件叫DBMS

数据库(DB):按照一定结构组织的数据集合,由存储数据的文件组成。

数据库管理系统(DBMS):管理软件。

2)数据库分类:

关系型数据库(RDB:Relationship DataBase):创建在关系模型上的数据库。

     关系模型:有明确行和列的二维表格模型。

     软件:MySQL、Oracle、Microsoft SQL Server、Access、PostgreSQL、DB2等。

非关系型数据库(NoSQL)

     软件::Hbase、MongoDB、Redis(k/v)、CouchDB等。

 3)关系型数据库主要对象:

与Excel对比:

    Excel:创建(Excel文档)-> 创建(sheet)->在sheet中进行数据操作。

    Mysql数据库:创建(数据库)-> 创建(数据表:二维表格)->在表中记录数据

4)关系型数据库的使用架构:

5)MySQL数据类型

1)数值类型(整型、浮点型):

    tinyint:1字节,可带符号。

    int:4字节,可带符号。

    bigint:8字节,可带符号。

    float:float(M,D)--> M:长度     D:小数位数    默认10,2

    double:double(M,D) 默认16,4

2)字符串类型:

    char(M):固定长度,字符长度范围1~255。    M:字符长度,默认1。

    varchar(M):可变长度,字符长度范围1~255。   

    blob/text:字段最大长度65535,不用指定长度

        blob:存储大的二进制数据,大小写敏感。

        text:不区分大小写。

     一个字符占一个字节

3)日期时间类型:

    date:日期格式“YYYY-MM-DD”,范围“1000-01-01”~“9999-12-31”

    datetime:日期格式“YYYY-MM-DD”,范围“1000-01-01 00:00:00”~“9999-12-31 00:00:00”

    year(M):范围1901-2155。    M:2或4,默认为4。

6)SQL语句操作:

增删改查(CRUD)create/retrieve/update/delete

6.0 NAVICAT中常用的快捷键

ctrl + / 快速注释     

ctrl + shift + / 解除注释

ctrl + R 快速执行

6.1 SQL语法

分号结尾,不区分大小写。

6.2 注释

单行注释:--空格#

多行注释:/*  */

6.3 DDL操作数据库

数据定义语言(Data Definition Language)

增查改删

6.3.1 创建数据库

create database DBname (character set utf8);

6.3.2 查看/选择数据库

use DBname;   # 切换数据库
select database();   # 查看当前数据库
show databases;   # 查看所有数据库
show create database DBname;  # 查看数据库定义信息

6.3.3 修改数据库字符集

alter database DBname character set utf16;

6.3.4 删除数据库

drop database DBname;

6.4 DDL操作数据表

数据库可以包含多个数据表,数据表由字段和记录组成;

6.4.1 创建表/查看表

# 1 创建表
create table category(  # 表名
       cid int,      # 字段名 字段类型
       cname varchar(30)
);

# 2 复制表结构
create table category_1 like category;

# 3 查看表结构
desc category;

# 4 查看当前数据库所有表
show tables;

6.4.2 删除表

drop table (if exists) category_1;

6.4.3 修改表

# 1 改表名
rename table category to m_category;

------------------------------------------------------------

# 2 添加列
alter table m_category add cdesc varchar(20);

# 3 修改字段数据类型
alter table m_category modify cdesc varchar(50);

# 4 修改列名称
alter table m_category change cdesc description varchar(30);

# 5 删除列
alter table m_category drop description;

6.5 DML操作表中数据

数据操纵语言(Data Manipulation Language)

6.5.1 插入数据

# 1 创建一个学生表
create table student(
     sid int,
     sname varchar(30),
     sage int,
     sex char(1)
);


# 2 插入数据
/*
   char,varchar,date类型:需“ ”包裹
   空值:不写,或插入null
*/
# 方法一:
insert into student values(001,"张三",16,“男”);

# 方法二:
insert into student(sid,sname,sex) values(002,"李梅",""女);

6.5.2 更改数据

# 一次修改多个列、带条件修改
update student set sage = 20(, cid = 003) (where sex = "男");

6.5.3 删除数据

# 1 删除所有数据/带条件删除(一条一条删除符合条件的记录)
delete from student (where sex = "男");

# 2 删除所有数据(直接删除表,重新创建表结构)
truncate table student;

6.6 DQL查询表中数据

数据查询语言(Data Query Language)

执行顺序:from - > where -> group by -> having -> select -> order by

# 1 准备数据
# 1.1 创建表
create table emp(
        eid int,
        ename varchar(20),
        sex char(1),
        salary double,
        hire_date date,
        dept_name varchar(20)
);

# 1.2 插入数据
INSERT INTO emp VALUES(1,'孙悟空','男',7200,'2013-02-04','教学部');
INSERT INTO emp VALUES(2,'猪八戒','男',3600,'2010-12-02','教学部');
INSERT INTO emp VALUES(3,'唐僧','男',9000,'2008-08-08','教学部');
INSERT INTO emp VALUES(4,'白骨精','女',5000,'2015-10-07','市场部');
INSERT INTO emp VALUES(5,'蜘蛛精','女',5000,'2011-03-14','市场部');
INSERT INTO emp VALUES(6,'玉兔精','女',200,'2000-03-14','市场部');
INSERT INTO emp VALUES(7,'林黛玉','女',10000,'2019-10-07','财务部');
INSERT INTO emp VALUES(8,'黄蓉','女',3500,'2011-09-14','财务部');
INSERT INTO emp VALUES(9,'吴承恩','男',20000,'2000-03-14',NULL);
INSERT INTO emp VALUES(10,'孙悟饭','男', 10,'2020-03-14',财务部);


----------------------------------------------------------------------------------
# 2 准备数据
# 2.1 查询全部数据/部分字段
select */(eid,ename) from emp;

# 2.2 去重操作
select distinct dept_name from emp;

# 2.3 运算查询
select ename,salary+1000 as new_salary from emp;

----------------------------------------------------------------------------------
# 2.4 条件查询
# 2.4.1 不等于:<>/!=
select * from emp where salary != 5000;

# 2.4.2 之间:between ... and ....   注意:前后闭区间
select * from emp where salary between 5000 and 10000;

# 2.4.3 or/and/not
select * from emp where salary = 3600 or salary = 20000;

# 2.4.4 in()
select * from emp where salary in(3600,7200,20000);

# 2.4.5 模糊匹配  %多个字符    _单个字符
select * from emp where ename like "%精%";
select * from emp where ename like "_兔%";

# 2.4.6 is null/is not null
select * from emp where dept_name is (not) null;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值