mysql的常见DDL语句,数据类型,使用CRUD增删改查

增(create)删(delete)改(update)查(Retrieve)

一、

数据库(database) 是存储数据的仓库,简称DB

DBMS(databaseManagers)数据库管理的软件 (其实我们今天安装的就是DBMS,数据库是里面的一部分内容。)

数据库的发展史就是计算机的发展史

关系型数据库和nosql数据库的发展

主流的关系型数据库:(access ,mysql,Oracle,sql server ,postgreSQL)


二、常见DDL语句

ddl ==> 数据库定义语言(database defined language)

dml  ==> 数据库操作语言  sql (database make language)

show databases; # 显示当前数据库管理软件下的所有数据库

use xxx数据库名称; # 进入到某个数据库

show tables; # 显示当前数据库中的所有表

desc 表名; # 查看某表的结构。


show databases

use 数据库名称

show  tables

create database 数据库名称

drop databse 数据库名称

create table 表名称(

字段1 类型 [约束条件],

字段2 类型 [约束条件]

……

字段n 类型 [约束条件] 

);

注意,最后一个没有逗号。多个约束条件用空格隔开。

eg:

create table user(

           id  int   primary key   auto_increment,  

           name  varchar(50)   not null    unique,

           age   int  default 18,

          email  varchar(50)  unique,

          phone  varchar(20)  unique,

          addr  varchar(255),

          birday  datetime

);


auto_increment  :自动加1



drop  table  user  删除表名为user的表。



drop table  if exists 表名称  (如果存在删除这个表格)

                                                         删除这个table名称为user的表格

desc 表名


三、Mysql的数据类型

1、整数 int    (这个最多11位)


2、浮点数 float    double    decimal   

  decimal(5,2)  整数位最多是3位,小数位最多是2位


3、字符串 char varchar

       char(10)        10个字符长度,用不完,也是10个长度

       varchar(10)    10个字符长度,用多少,是多少长度


4、文本类型 text  不用写东西,直接一个text即可。


5、日期 data(只能表示年月日)、time (只能表示时分秒)、datatime(年月日时分秒)


6、binary 二进制    block


7、布尔 bit


约束条件:

目的:保证数据的正确性。

1.主键primary key,默认是唯一

2.非空not null

3.惟一unique

4.默认default

5.外键foreign key


三、Mysql的CRUD(增删改查)


一定要写where条件,不写where条件表示修改全表数据,这个可不是闹着玩滴小伙子。


增加(create)

insert into 表名(字段1,字段2,字段3,……,字段n) values(值1,值2,值3,……,值n)

eg:insert into user(name,id,age,email,phone,addr,birday) values("zs",null,16,"110@qq.com","110",'zz','1990-08-23');

insert into user  values("zs",null,16,"110@qq.com","110",'zz','1990-08-23'); 简写形式,但是要一一对应。


删除(delete)

delete from 表名 where 条件

不带where条件表示清空全表。


修改(update)

update 表名 字段1=新值1,字段2=新值2,…… where 条件


查询(tetrieve)

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

eg:select id,name,age,email,phone,addr,birday from user;

select id,name,age from user;   (也可以查询部分)

select * from user;     (*表示查询所有)

alter 修改表的结构

alter  table 表名 add  新的字段 类型

alter table 表名  drop 字段名称 






drop  table   tagName    清除表的结构。这个表完全不存在了。

删除表数据3种方法:

delete from 表名 where 条件   删除的是表的数据,不删除标的结构。表一直存在。

      再次添加会占位,有里面有字典记录,id接着下后面写。

truncate [table] 表名称    删除的是表的数据,不删除标的结构。

       这个再次添加,id从1开始。相当于格式化。

alter table 表名  drop 表名称  




三个创建:

            create  database   dbName    

            create  table  tbName(数据,type,【约束条件】)

              create视图,或者索引

eg :创建一个视图

1.1.1视图

·对于复杂的查询,在多次使用后,维护是一件非常麻烦的事情

·解决:定义视图

·视图本质就是对查询的一个封装,虚拟的表,一旦封装的内容改变了,视图的内容也随着用

·定义视图

create view stuscore as

select students.*,scores.score from scores

inner join students on scores.stuid=students.id;

·视图的用途就是查询

select * from stuscore;


四个语句:

           增(create)删(delete)改(update)查(Retrieve)

五种约束:

       1.主键primary key,默认是唯一

       2.非空not null

       3.惟一unique

       4.默认default

       5.外键foreign key

check()这个约束条件在mysql中不生效



数据库对象:

            表 ,视图 ,索引,函数,过程,触发器 。etc还有好多

sql: 结构化查询语言




名词:字段也就是列 ,记录(对象)也就是行



五种多表查询:

   1、内连接:

                相等连接

                不相等连接

2、外连接:

              左连接

              右连接

3、交叉连接

4、自然连接

5、自连接



E-R模型

当前物理的数据库都是按照E-R模型进行设计的

E表示entry,实体

R表示relationship,关系

一个实体转换为数据库中的一个表

关系描述两个实体之间的对应规则,包括

1.一对一

合法的情况下:一个男人娶一个女人,一个女人嫁一个男人

2.一对多

目前教室里,一个老师教多个学生,一个学生被一个老师教

一个教室里有很多学生,一个学生只能一个教室

3.多对多

在大学中,一个学生选很多课程,一个课程被学生选

在大学里,一个学生可以有很多老师,一个老师可以教很多学生

关系转换为数据库表中的一个列在关系型数据库中一行就是一个对象


三范式

对于设计数据库提出了一些规范,这些规范被称为范式。在一定程度上,为了提高访问性能,可以允许一定的冗余。

1.第一范式(1NF)

所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。

简而言之,第一范式就是无重复的域。

说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的设计基本要求,一般设计中都必须满足第一范式(1NF)。不过有些关系模型中突破了1NF的限制,这种称为非1NF的关系模型。换句话说,是否必须满足1NF的最低要求,主要依赖于所使用的关系模型。

2.第二范式(2NF)

在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或记录必须可以被唯一地区分。选取一个能区分每个实体的属性或属性组,作为实体的唯一标识。例如在员工表中的身份证号码即可实现每个一员工的区分,该身份证号码即为候选键,任何一个候选键都可以被选作主键。在找不到候选键时,可额外增加属性以实现区分,如果在员工关系中,没有对其身份证号进行存储,而姓名可能会在数据库运行的某个时间重复,无法区分出实体时,设计辟如ID等不重复的编号以实现区分,被添加的编号或ID选作主键。(该主键的添加是在ER设计时添加,不是建库时随意添加)

第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。

简而言之,第二范式就是在第一范式的基础上属性完全依赖于主键。


第三范式(3NF)

在1NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)

第三范式(3NF)是第二范式(2NF)的一个子集,即满足第三范式(3NF)必须满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个关系中不包含已在其它关系已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。

简而言之,第三范式就是属性不依赖于其它非主属性,也就是在满足2NF的基础上,任何非主属性不得传递依赖于主属性。

说明:后一个范式,都是在前一个范式的基础上建立的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容