MySQL系列---基础知识

数据以及数据库

数据:所有能够感知的客观世界存在的事物都是数据,即客观事物的符号表示。在计算机中展示数据则需要创建多个对象,集合或数组,存在内存中,优点速度快,但致命缺点,数据不持久,内存是一个随机存储的空间。所以需要存到磁盘中,序列化、流。但是这样操作,查询时效率低,需要反序列化和遍历。由此诞生数据库。

数据库:数据存在结构化数据(所有数据格式统一)和非结构化数据(格式无法统一),因此数据库也对应这两种,按照数据结构存储数据的仓库。(DB   全称database),还有半结构化数据,很少用,存于非关系型数据库。

关系型数据管理系统(RDBMS  Relationship):处理结构化数据,高io(输入输出)操作

          Oracleoracle公司,大型性分布式数据库管理系统。产品免费,但服务收费(收费及其昂贵,按cpu核数收费),因此一              般都是大型国企,上市金融公司使用。也就是比较稳定的地方,金融公司不常用,不稳定。例如阿里(旺信:以前是                      oracle,后来不再使用,太贵)

          Mysqloracle公司,但不是它自己的,并且也是收购的(mysql  AB公司),主流互联网公司使用,因为它开源,免费                 (GPL:开源软件许可证),所用版本----5.7.21

          Sql servermicrosoft公司,中小型数据库管理系统,微软公司的特点,不兼容。

          Db2ibm公司,中小型数据库管理系统

非关系型数据管理系统(Nosql  not only sql):主要为了应对,高并发高可靠高性能数据

          redis/hbase/mongdb/neo4j(社交网络。陌陌、脉脉),是对关系型数据库的补充,不是替代,无法只用nosql

任何一个数据库:安装分为两个端--客户端navicat,服务端server;使用时要么开放端口要么关闭防火墙,不同的权限对应不同的操作等级。

客户端工具: 1)命令行,2)图形化界面(workbeach、sqlyog、navicat

sql语句的编写:

            DDL:(Data Definition Language)数据定义语言(创建和维护数据库对象结构)、创建数据库、表、视图、索引等,总                之就是不涉及删除修改具体信息影响结构的行为。

                  create   /  alter    /  drop     ///   add / drop / change / modify / rename  相当于搞房子时打地基     

            DML:(data manipulation language)数据操纵语言(数据的增删改查)

                  insert   /  delete   /update   /  select

            DCL : (Data Control Language)数据控制语言(授权以及取消授权)

                  grant    /   revoke

            TCL:(transaction Control Language)事务控制语言(安装成功正常保存、安装失败时将之前安装的部分程序全部删             除)

                  Commit   /  rollback

DDL:

          

            创建数据库:   create  database [if not exists] dbname;

            删除数据库:   drop database[ if exists] bd1808;

             1.查看结构    desc student;

             2.添加字段(add) 追加

             alter table student add tel varchar(11);    // sql语言默认添加到最后一位 

              #添加字段到首列     alter table student add email varchar(20) first;

              #放置字段到第二列      alter table student add height double(4,1) after email; 

             3.删除字段(drop)     alter table student drop height;

             4.修改字段(modify/change)

              #modify:   modify 字段名称 新类型 新约束

              #change:   change 旧字段 新字段 新类型 新约束

                              #1.修改字段名称

                             alter table student change name sname varchar(20);

                             #2.只修改字段类型和长度

                             alter table student change sname sname varchar(50);

                             alter table student modify sname varchar(50);

                             #3.修改字段位置

                             alter table student modify age int after sname;

                 5.表名称修改     rename table student to stu;    alter table student rename stu;   //两种方法都可以。

                 6.销毁表:    drop table user;

数据类型:

          整型数据:int(tinyint、smallint、bigint) 4个字节

           浮点数: 

                    fioat(m,n): m代表长度,n代表小数点位数

                    double(m,n):m代表长度,n代表小数点位数

                    decimal(m,n):m代表长度,n代表小数点位数(它不会产生精度的丢失,因此一般记录金额和价格相关数据)

           日期类型:

                      date:日期

                     Time:时间

                     Datetime:时间和日期   1000--9999

                     Timestamp:时间戳      1970—2038

                     Year:年份

           字符串:

                     char(n):(定长字符串)  不足长用空格填满

                     Varchar(n):(可变字符串)  指定的只是上限

                     Text:大文本(比如存一本书,特别多的)

           其他类型:

                     Bit(1):性别的常用类型,因为性别的存储方式不是男女,而是0 1

                     Blob存储二进制数据(图片、音频、视频)、很少用,数据库存这些不效率也浪费空间,这些一般存在文件库                                         中,数据库对应存其地址

                     Enum枚举类型

                     Set:   集合类型

                     Jsonjson类型,数据传输格式、后台传到前台(本质是一个字符换),它在传输时会保持一定的格式,集合转化成                                   json、再从json转化成集合,简化效率

运算符:select ***

        算数运算符:加减乘除

                

        比较运算符:它最终的结果不是turn和false ,而是1(对)和0(错) >  <  >=  <=  =  !=  <>(这玩意等价于!=,意思是可大                   可下,即不等于)

             

        逻辑运算符:and  or  !

                  

        位运算符:    &  |   ^

                  selsct  4&3     0

                  selsct  4|3      7

                  selsct  4^3      7

数据完整性:

        实体完整性:实体即记录,也就是行

                主键约束:primary key(唯一,且不为空),分为主键和联合主键;

                     

                  

                唯一约束:unique(唯一),他可以空,但只能空一次,其实本质还是唯一不空;并且它可以定义多个字段属于唯一

                   

                主键自增:auto_increment(从1开始,每次自动增加1)

                   

        域完整性:  域:指的是字段,保证字段的值准确性

                 类型约束:数据类型(比较粗犷的约束方式)

                 非空约束:not null ,保证字段必须有值

                 默认值:default,设定一个默认值,当用户没有填入信息时采用默认值,不会为空。

                  

        引用完整性:一个表中的某个字段参考另一个表中的某个字段,(比如学生表和班级表,两个表中都含有班级字段,)保证         表与表中参考数据的完整性,

                   

DML:

1insert 增加(插入)

        语法格式insert into tname[(fie1,fie2…)] values(val1,val2…);因此可插入一条完整记录,也可插入一条不完整计录;

        插入一条完整的数据:插入的数据顺序要和表的字段顺序匹配,不可颠倒

              insert into stu values(‘haha@163.com’,’zs’,18,’男’,’123445555555’);

        插入部分字段:插入的顺序和声明的顺序匹配,声明的顺序可自定义

              insert into stu(age,sname,sex)value(20,’ls’,’女‘);

         批量插入:写一行和写三行的效率是不一样的,一个是输出三个影响一行,一个是输出一次影响三行,这样效率高

               

        复制信息到另一张表:

                                                

2update(修改),其实不必非要是主键

         语法结构:   update tname set fie1=val1,fie2=val2 [where condition];

                   

3)delect(删除)

          语法结构:  delect from tname [where condition]      delect from stu where sname = ‘haha’;

DQL:数据查询语言

          

         

                    

        单行函数:返回一条记录的,一般为单行单类。

               

                

                 

                                   

                    

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lipviolet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值