栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

mysql 数据库

mysql 数据库

1、什么是数据库

数据库:简而言之,存储数据,管理数据的仓库

常见的数据库类分为:

关系型数据库:oracle、mysql、sqlserver、access

非关系型数据库: MongoDB

2、关系型数据库与非关系型数据库

关系型数据库被称为传统数据库,其表之间的关系相当于师生关系,

非关系型数据:表与表之间关系比较松散,如中国人与外国人之间的关系

Oracle数据库收费,mysql数据库不收费、目前阿里已经全面排斥oracle

3、关系型数据库

1、关系型数据库有特定的组织方式、以行和列的方式存储数据、以便于用户理解、2、关系型数据库的行与列被称之为表,一组表组成数据库,3、用户通过查询检索数据中的数据,而查询是一个用于限定数据库中某块区域的执行代码,,4、关系模型可以简单的理解成为二维表格模型,而一个关系型数据库就是二维表之间的关系组成的一个数据集合

4、MYSQL数据库

1、服务器端:它用来处理具体的数据维护、保存磁盘

2、客户端:CRUD:增加、查找、修改、删除

5、SQL语句

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

二、sql语言是1986年10月由美国国家标准局(ANSL)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准

三、分类

1.DML(DATE  manipulation language)数据库操作语句

2、DDL:数据库定义语句

3、DCL:数据库控制语句

4、DQL:数据库查询语句

注意:sql不区分大小写

数据库的常用操作

创建数据库

查看数据库

删除数据库

使用数据库

 MariaDB [(none)]> create database test;

MariaDB [(none)]> use test;

设计学生表

表中有id 、ename字段

查看表字段详细信息

MariaDB [test]> desc student;

添加表字段默认添加在最后一行

MariaDB [test]>  alter table student add column class varchar(10);

 MariaDB [test]> alter table student add course varchar(10);

MariaDB [test]> alter table student add teacher varchar(12) first; 表字段第一行添加字段

MariaDB [test]> alter table student add Fraction int(10)  after  ename ;在ename字段后添加字段
修改表字段

MariaDB [test]> alter table student change  ename dname varchar(11);

删除表字段

MariaDB [test]> alter table student drop teacher;

更改表名

MariaDB [test]> rename table student to  student1;

删除表

MariaDB [test]> drop table student;

创建表、插入记录

create table student1(ID int(10) primary key auto_increment,dname varchar(10));

MariaDB [test]> insert into student1 values(null,"阿炳");

MariaDB [test]> insert into student1(ID) values(null),(null); 添加单独字段数据

查询记录

MariaDB [test]> select * from student1;

修改记录

MariaDB [test]> update student1 set dname="村花" where id=2;

删除记录

MariaDB [test]> delete  from student1 where  id=3;

数据排序

MariaDB [test]> select * from student1 order by id   asc;升序排序

MariaDB [test]> select * from student1 order by id desc; 降序

统计数据记录总数

MariaDB [test]> select count(1) from student1;

6、数据类型

命名规则

--- 字段名必须以字母开头、尽力不要使用拼音

---长度不能超过30个字符(不同数据库、不同版本会有不同)

---不能使用SQL的保留字,如 where 、order 、group

---只能使用a-z 、A-z、 0-9  $等

-- oracle习惯全大写、MySQL习惯全小写

--多个单词用下划线隔开

字符
---char长度固定,不足使用空格填充,最多容纳2000个字符,char(11)存储abc,占11位。查询速度极快但浪费空间
---varchar变长字符串,最多容纳4000个字符,varchar(11)存储abc,只占3位。查询稍慢,但节省空-间。Oracle为varchar2
---大文本: 大量文字(不推荐使用,尽量使用varchar替代)
---以utf8编码计算的话,一个汉字在u8下占3个字节

---注:不同数据库版本长度限制可能会有不同

数字
tinyint,int整数类型
float,double小数类型
numeric(5,2) decimal(5,2)—也可以表示小数,表示总共5位,其中可以有两位小数
decimal和numeric表示精确的整数数字
日期
date 包含年月日
time时分秒
datetime包含年月日和时分秒
timestamp时间戳,不是日期,而是从1970年1月1日到指定日期的毫秒数
图片
blob 二进制数据,可以存放图片、声音,容量4g。早期有这样的设计。但其缺点非常明显,数据库庞大,备份缓慢,这些内容去备份多份价值不大。同时数据库迁移时过大,迁移时间过久。所以目前主流都不会直接存储这样的数据,而只存储其访问路径,文件则存放在磁盘上。
-

基础函数

一般在字段里使用

lower() 、upper   、length、substr、concat 、replace、ifnull

数据转小写、数据转大写、数据的长度、--截取、拼接数据、把a字符替换成666、判断,如果comm是null,用10替换

round & ceil & floor

round四舍五入,ceil向上取整,floor向下取整

now()获取现在、select now() -- 年与日 时分秒

select curdate() --年与日

select curtime() --时分秒

year & month & day

–hour()时 minute()分 second()秒

查询条件

distinct 去重 在字段里使用

where 、注意:where中不能使用列别名!!

like 通配符%代表0到n个字符,通配符下划线_代表1个字符

select * from emp where ename like 'l%' --以l开头的

null 

select * from emp where mgr is null --过滤字段值为空的

between and

select * from emp where sal between 3000 and 10000--等效

limit

select * from emp limit 2 --列出前两条

order by

SELECt * FROM emp order by sal #默认升序

 聚合 aggregation count max / min sum / avg 分组 group group by having 查询条件,类似where,但是group by只能配合having

主键、外键、唯一索引的区别?
  • Primary Key 主键约束,自动创建唯一索引
  • Foreign Key 外键约束,外键字段的内容是引用另一表的字段内容,不能瞎写
  • Unique Index 唯一索引,唯一值但不是主键

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/302863.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号