数据库

什么是数据库

数据库是按照数据的结构来组织 存储 管理数据的仓库 简而言之 存放数据的仓库

英文名 DB(database)

数据库=多张表+各表之间的关系

常见数据库

Oracle:最挣钱的数据库 ,出自甲骨文公司,市场占有率非常高,功能非常强大,被一些大型企业,电信,银行,证券公司、金融公司所使用,市场占有率第一。

  MySQL :是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。

  SQLServer :是微软开发的数据库,针对服务器,仅支持Windows操作系统,号称是windows上最好用的数据库

MongoDB:最好用的文档型数据库

  Redis 最好的内存级数据库,查询效率极高,

数据库和SQL是什么关系

结构化查询语言 简称 SQL 是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

数据库里面放着数据 而sql是用来操作数据库里数据的语言

例如 一碗米饭一双筷子 碗就是mysql  米是数据  sql是筷子 用sql来操作数据

SQL语句分类

DDL 数据库定义语言

DML 数据库操作语言

DQL 数据库查询语言

DCL 数据控制语言

表中字段基本数据类型

mysql支持多种类型 分为三类 数值、日期、字符串(字符)类型

1.一个汉字占多少长度与编码有关

utf-8:一个汉字=3个字节

GBK:一个汉字=2个字符

2.varchar(n)表示n个字符 无论英文汉字 mysql都可以存入n个字符 但实际直接长度有所区别

//创建表create tablestudent(idint,namevarchar(20),sexvarchar(20),ageint,saleryfloat(6,2),birthday date)

//删除表drop table student;

//查看所有表show tables

//查看表的创建细节show create table student;

//展示表结构desc student

// 在原有的学生基础上添加address列alter table student add addressvarchar(20)

//在原有的学生基础上删除address列alter table student drop address

定义表的约束

create tablestudent(

id int primary key auto_increment,

name varchar(20) unique not null,

sexvarchar(20),

age int,

salery float(6,2),

birthday date);

如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

PRIMARY KEY关键字用于定义列为主键。为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,主键也是一个特殊索引。 您可以使用多列来定义主键,列间以逗号分隔。

UNIQUE KEY的用途:主要是用来防止数据插入的时候重复的

ENGINE:设置存储引擎

CHARSET: 设置编码

创库 DDL数据库定义语言

create database mydb1 创建数据库

drop database mydb1 删除数据库

user 库名 使用数据库

show create database mydb1 查看数据库创建细节

create database mydb2 character set gbk 创建一个使用gbk字符集的数据库

创表

创建表

createtablestudent(idint,namevarchar(20),sexvarchar(20),ageint,saleryfloat(6,2),birthday date)

删除表drop table student;

查看所有表show tables

查看表的创建细节show create table student;

展示表结构desc student

在原有的学生基础上添加address列alter table student add addressvarchar(20)

在原有的学生基础上删除address列alter table student drop address

定义表的约束

create tablestudent(

id int primary key auto_increment,

name varchar(20) unique not null,

sexvarchar(20),

age int,

salery float(6,2),

birthday date);

如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

PRIMARY KEY关键字用于定义列为主键。为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,主键也是一个特殊索引。 您可以使用多列来定义主键,列间以逗号分隔。

UNIQUE KEY的用途:主要是用来防止数据插入的时候重复的

ENGINE:设置存储引擎

CHARSET: 设置编码

DML数据库操作语言

#插入数据

insert into 表名 values(值,值)

insert into 表名 (字段名,字段名) values(值,值)

#插入中午会报错

setcharacter_set_client=gbk;

setcharacter_set_results=gbk;

#对齐

charset gbk;

#删除数据

delete from 表名 【where 字段=值】

truncate table 表名

#修改数据

update 表名 set 字段=值 【where 字段=值】

DQL 数据库查询语言

#条件查询

select * from 表名 【where 字段><=值】

#别名 并列

select 字段【as】别名,字段【as】别名,from 表名 【where 字段><=值】

#查询区间 范围

select * from 表名 where math between 80 and 90;

#查固定的值

select * from 表名 where 字段 【not】in(值1,值2)

#模糊查询 _一个字符 %任意字符(包括0)

select * from 表名 where 字段 like ‘’;

#排序查询

select * from 表名 order by 字段 【desc(降序)asc(默认升序)】【limit m,n】

#分页查询 m- 从m+1开始查询 n- 查询多少条件

select * from 表名 limit m,n

#分组查询

select * from 表名 group by 字段 【having 字段 ><=值】

#聚合函数

count sum avg max min

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容