sc delete mysql 删除服务!

 

一:数据库介绍

引入:

   我们事先运用的多少都是积累在内部存款和储蓄器中的!比如说大家写三个注册功能。

大家首先供给在内存中创设三个对象,之后输入注册需求的用户名和密码等数码!

然后登录时,输入注册的数目就能够成功登入!

 

  注册成功今后  比方用户名是admin 密码是123456

 

出现的标题:

请问

01.用户的数量放在哪里了?

02.假使身处内存中,后一次登入还动用在此之前注册的用户名和密码,能登录吗?

  明显是不能够的! 因为程序一旦运转完结,内部存款和储蓄器中的数据也跟着消失!

 

怎么办?

01选拔类别化保存对象到文件中

02.选拔xml保存数据到文件中

 

   不过把大量的数码放在文件中,大家对文本数量的读写效用是相对非常慢的!

而且也不便利大家管理文件中的数据!那时候就须要有新的存款和储蓄格局来顶替!

正是我们所谓的数据库(存款和储蓄数据的仓库)!

 

1.1:什么是数据库

概念:根据数据结构来公司,存储和管制数据的库房,我们誉为数据库(DataBase,简称:DB)。

这几个囤积的数目能够是二种情势:如文字,符号,图片,录制,音频等!

从广义上的话,咱们的txt文件,word文书档案,excel文件都得以明白成二个数据库!

在IT的世界里,数据库指的是由正规能力团队开采的用来存款和储蓄数据的软件系统!

 

1.2:使用数据库的须要性

1.足以结构化的储存大批量的数额音讯,方便用户进行访谈和操作

    数据库能够对数据进行分类保存,进步我们的拜候功效。

 

2.得以有限支撑数据消息的一致性,完整性,裁减数据的冗余

    数据库中有工作(ACID特性)来保障数据音信的一致性,完整性;

    数据库本人也会有约束来下滑数据的冗余。

 数据冗余(Redundance):数据再次的景色!

 

3.可以满意使用的四姑娘山和分享方面包车型大巴需要

    借使大家把职员和工人的保有音讯,都保留在二个txt文件中,那么职员和工人的薪俸就能暴流露来!很鲜明那是不允许的!

    若是把多少放在数据库中,我们得以界定独有财务职员工夫查询薪俸!而其余职员和工人只好查询自个儿的音信!

1.3:常见的关系型数据库

           1.SQL Server  官网:http://www.microsoft.com/zh-cn/sql-server/sql-server-2016

               是Microsoft公司的关系型数据库管理种类!

 

           2.MySql   官网:https://www.mysql.com/

               是一种开放源代码的关系型数据库管理体系!

 

           3.Oracle   官网:http://www.oracle.com/technetwork/database/index.html

               是Oracle企业的关系型数据库管理种类!

 

注意点:

     就算数据库不平等,可是对数码的操作都一模二样,有的操作命令都以同样的!

 

关系型数据库:是指创设在关系模型基础上的数据库,借助于会集代数等数学概念和措施来拍卖数据库中的数据!

1.4:关系型数据库和非关系型数据库

 

 

 

科学普及的非关系型数据库:

  

Mongo DB

Redis

HBase

 

 

二维表的牵线:

 

在涉及模型中,数据结构表示为一个二维表,三个关系正是二个二维表(但不是随意多个二维表都能表示一个涉嫌),二维表名便是事关名。表中的首先行日常称为属性名,表中的每三个元组和总体性都是不足再分的,且元组的顺序是可有可无的。

常用的关联术语如下:

记录 二维表中每一行称为叁个记录,或称为二个元组。

字段 二维表中每一列称为叁个字段,或称为壹天质量。

域 即属性的取值范围。

 

 

五头的利害:

 

关系型数据库:

   01.轻易精晓,寄放在数据库中的数据正是以二维表的款式积存的!

   二维表便是有行和列组成的,知道行号和列号就能够一定到表中的多少!Excel便是二维表!

 

   02.使用方便,基本通用的sql语言使得操作关系型数据库方便!

 

   03.支持sql,所以能够张开复杂的询问!

 

   04.易于维护,充足的完整性(域完整性,实体完整性,参照完整性和自定义完整性)大大收缩了多少的冗余,事务的ACID特性保证了数据的一致性!

  

   05.读写品质低

   

   06.对海量数据的拍卖比不上非关系型数据库

 

   07.布满式缺乏健全

 

非关系型数据库:

   01.不帮助sql,省去了深入分析sql的步调,读写质量高

   

   02.基于键值对的款式,数据尚未耦合性,扩张性强

 

   03.能够兑现数量的遍及式管理

 

   04.适用孙乐量数据的管理

 

 

   05.悠久化的性情低

   

   06.因为尚未事情,所以数据的安全性不高

   

   07.出道时间短,作用尚未关系型数据库完善

 

图片 1

图片 2

图片 3

图片 4

 

1.5:MySql数据库的特点

     版本分类:

 

               01.社区版:

自便下载无偿!适用于普通用户!

               02.企业版:

不能够自有下载况兼收取费用!官方提供了总体的手艺支持!

适用于对数据库需要比较高的店肆用户!

   优势:

        01.运作速度快,因为MySql体积小,命令试行进程快

        02.应用开销低,因为MySql无需付费开源(相对于大三人来说)
                

        03.易学易用,相对于别的数据库的装置和治本

        04.可移植性强,能够运行在windows, linux ,unix中!

     

1.6:数据库管理类别和数据库系统

  数据库处理种类(DataBase
Management System,简称DBMS):便是治本数据库的系统!

  

  数据库系统(DataBase
System,简称DBS):包罗数据库软件,数据库和数据库助理馆员!

 

  数据库管理员(DataBase
Administrator,简称DBA):创制,监察和控制和掩护整个数据库的正统管理人员!     

 

  数据库( DataBase) 

 

  

DBA通过DBMS操作DB! 整体正是DBMS

 

 

关系型数据库管理体系(Relational
DataBase Management System)

 

图片 5

 

 

 

1.7:数据库中相关的名词

 数据库:数据表的集纳!

 

 数据表:数据的汇集!

 

 行:一行数据(元组或然记录)
横向

 

 列:一列数码(字段)   纵向

 

主键(Primary  key): 独一标记数据的字段

 

外键(Foreign Key):关联四个表之间关系的字段

 

标识列   是 自增列!

主键是 唯一!

 

复合主键:

  所谓的复合主键
就是指你表的主键含有二个之上的字段组成,不接纳失业务含义的自增id作为主键。

比如 

create table test  

(   

name varchar(19),   

id number,   

value varchar(10),   

primary key (name,id)   

)   

地点的name和id字段组合起来正是您test表的复合主键
,它的产出是因为您的name字段恐怕会并发重名,所以要抬高ID字段那样就足以确认保证你记录的独一性
,一般景况下,主键的字段长度和字段数目要越少越好 。

 

此间就能够有贰个狐疑?
 主键是无出其右的目录,那么为何二个表能够创制四个主键呢?

 

其实“主键是无出其右的目录”那话有一些歧义的。譬喻,大家在表中开创了多个ID字段,自动增进,并设为主键,那一个是尚未难点的,因为“主键是天下无双的目录”,ID自动增长有限支撑了独一性,所以能够。

此刻,大家再创制叁个字段name,类型为varchar,也设置为主键,你会发觉,在表的多行中您是足以填充同样的name值的,那岂不是有违“主键是并世无双的目录”那句话么?

就此笔者才说“主键是独一的目录”是有歧义的。应该是“当表中独有七个主键时,它是独步一时的目录;当表中有八个主键时,称为复合主键,复合主键联保独一索引”。

为啥自增进ID已经足以看做独一标记的主键,为什么还索要复合主键呢。因为,实际不是持有的表都要有ID这些字段,比方,大家建二个上学的小孩子表,没有独一能标志学生的ID,如何做呢,学生的名字、年龄、班级都恐怕重新,无法运用单个字段来独一标志,这时,大家能够将三个字段设置为主键,产生复合主键,那三个字段联合标志独一性,当中,某多少个主键字段值出现重复是从没有过难题的,只要不是有多条记下的全体主键值完全同样,就不算重复。

 

 

1.8:数据完整性

  数据完整性:

  存储在数据库中的全体数据值均精确的情景。若是数据库中存放有不正确的数据值,则该数据库称为已丧失数据完整性。

 

组成都部队分

1.实体完整性(Entity
Integrity)

2.域完整性(Domain
Integrity)

3.参阅完整性(Referential  Integrity)

4.用户自定义完整性(User Defined  Integrity)

图片 6

 

 

 

 

 

二:Mysql的配置

MySql默许的端口号是3306

2.1:默许字符集的安装

 在mysql的装置目录,会看到my.ini文件!

 

  my.ini文件介绍

 

  01.default-character-set=utf8

      设置客户端的字符集

 

  02.character-set-server=utf8      设置服务器端的字符集

     character-set-client=utf8      客户端发送的语句字符集

     character-set-connection=utf8  设置服务器收到客户端语句的字符集

     character-set-results=utf8     服务器将结果转变来对应字符集之后响应给客户端

 

 

  同不时候安装字符集 client
connection results

 

   set  names  utf-8;

 

  03.port  

      mysql的暗中认可端口号是3306

 

  04.basedir

     数据库的设置地点

 

  05.datadir

     数据存放的职责

 

  06.default-storage-engine

     mysql的暗许存款和储蓄引擎   

 

如若改动了安排文件,供给重启mysql服务才会生效!

 

 

 

Utf-8是一种针对unicode的可变长度字符编码,又称作万国码。它是一种用于减轻国际上字符不联合的一种编码格式,对葡萄牙语使用8位(1字节),中文二十五位(3字节)来编码。富含了社会风气上具备国家供给的字符,是国际编码,通用性强!

 

2.2:配置mysql情状变量

   01.复制mysql安装地点的bin目录

   02.右键笔者的微型计算机===》属性===》高档系统安装===》蒙受变量===》把刚刚复制的bin路线放入path变量中就可以!

   

 

三:命令行连接MySql

在windows操作系统中,命令不区分轻重缓急写!

3.1:启动mysql服务

01.win+R 输入 services.msc

02.找到mysql服务 右键点击展开

03.win+R 输入 cmd

04.步入命令窗口之后输入net start mysql 开启服务

05.net stop mysql 结束服务

3.2:连接mysql数据库

01.连接命令

    Mysql  -h 服务器主机地址
-u 用户名 -p密码

 

02.举例是本机操作,可以简轻便单-h

03.-p之后也足以不写,密码!回车之后再输入密码

  如若-p之后书写密码,则没有须求有空格

sc delete mysql 删除服务。sc delete mysql 删除服务。 

Root用户连接mysql数据库

Mysql  -u root  -p密码

-p和密码之间不能够有空格

 

 

3.3:查询mysql数据库的版本号以及当前登入的用户

select version(),user();

图片 7

 

 

 

3.4:MySql中数据库类型

1.用户数据库

      用户依照须求本人创制的数据库!是大家斟酌的严重性!

 

2.系统数据库

   安装完mysql之后,默许附带的数据库

01.information_schema:存款和储蓄了数据库对象的音讯。如用户表音讯,字段消息,权限音信,字符集消息和分区消息等。

02.performance_schema:存款和储蓄了数据库服务器质量参数音讯。

03.mysql:存款和储蓄了系统的用户权限音讯

04.test:数据库处理种类活动创造的测量检验数据库,任何用户都能够利用

 

 

 

四:SQL简介

4.1:什么是SQL

sc delete mysql 删除服务。SQL的完备是(Structred Query Language)结构化查询语句。

01.一九七三年被提议,一九八〇年改名叫SQL

02.关系型数据库的业内语言

03.数据库脚本文件的增添名

 

4.2:SQL的组成

 01.DDL(Data Definition Language)数据定义语言。

用来创立数据库中的各样对象。如表,视图,索引,同义词等。

create      drop    truncate    alter

 02.DQL(Data Query Language)数据查询语言。

      select   where  group by  having  order by

 03.DML(Data Manipulation Language)数据操作语言。

      Insert  update  delete

04.DCL(Data Control Language)数据调节语言。

      grant   revoke  rollback  commit

4.3:SQL中的运算符

  01.算术运算符

   +   加法

   –   减法

   *   乘法

   /   除法

   %   取余

 

02.赋值运算符

   =   把=侧边的值赋值给侧面

 

03.比较运算符

  >  大于

  <  小于

  <=  小于等于

  >=  大于等于

  <>  不等于

  !=   不等于(不符合sql-92标准)

 

04.逻辑运算符

  And  当几个表明式都为true,再次来到true

  Or   当四个表明式有二个为true,再次回到true

  Not  对表明式取反操作,优先级最高

 

 

五:使用DDL语句操作数据库

5.1:创造数据库

create database 数据库名称;

 

Query ok : 表示sql语句实行成功

1 row affected :表示影响的行数

    0.00sec :表示实践时间

5.2:查询数据库列表

      show  databases;

5.3:选拔数据库

      use 数据库名称;

 

5.4:删除数据库

      drop  database 数据库名称;

5.6:创立用户

 01.创制用户   只同意 本机 访问

 

CREATE USER ‘xiaodoufu’@’localhost’ IDENTIFIED BY ‘xiaodoufu’;

其余的机械也得以访谈

CREATE USER ‘xiaodoufu’@’%’ IDENTIFIED BY ‘xiaodoufu’;

 

02.给用户授权

 

GRANT ALL PRIVILEGES ON *.* TO ‘xiaodoufu’@’localhost’;

 

 03.让权力马上生效

 

FLUSH PRIVILEGES;

 

六:使用DDL语句操作数据表

6.1:数据类型

  01. 数值类型

tinyint(M)          1字节

  smallint(M)         2字节

  mediumint(M)      3字节

  int(M,D)           4字节

  float (M,D)         4字节

  double (M,D)       8 字节

  Decimal (M,D)      M+2字节

   M:总位数,取值范围是1-65,私下认可值10.

   D:小数位,取值范围是0-30,不可能超过M的值!

 

 

 

 

Tinyint,smallint,mediumint,int都是整数类型!

Float,double 都以浮点类型!

Decimal 是精度最高的数值类型!

 

报酬存款和储蓄一般都是用decimal来积存,因为准确性高!

 

假使定义了叁个字段的品类是decimal(3,1)

那就是说那么些字段的取值重返是 -99.9
到 99.9

 

  1. 字符串类型

sc delete mysql 删除服务。 

Char(M)   M字节
 固定长度的字符串,M的取值重回是0-255

       假设插入的数额字节数非常不足,空格补全!

       倘诺插入的数目字节数超越了M,自动截取多余的字节!

 

Varchar(M) 可变长度 M的取值重回是0-65535

       假设插入的多寡字节数缺乏无需补全!

       假设插入的多少字节数超越了M,自动截取多余的字节!

Tinttext: 取值再次回到是0-255!  微型文本串

Text   :取值重回是0-65535!  文本串

 

  1. 日期类型

 

sc delete mysql 删除服务。Date           YYYY-MM-DD        current_date那么些函数能够赢安妥前系统的年月日

Datetime       YY-MM-DD hh:mm:ss

Timestamp      YY-MM-DD hh:mm:ss   CURRENT_TIMESTAMP那些函数也是安装系统私下认可时间

Time           hh:mm:ss

Year            YYYY  得到年份

 

 

注意点:

 

 001.固然四个字段是日期类型,那么其余标志都足以看成日期的相间符

 

 比如

2017-02-01

2017+02+01

2017/02/01

2017.02.01

sc delete mysql 删除服务。等 都以能够正确给日期类型的字段赋值成功!

 

002.CURRENT_DATE         这几个函数获取当前系统的年月日

003. CURRENT_TIMESTAMP   那么些函数获取系统 年月日 时时而

004.CURRENT_TIME         这些函数获取系统 时分秒

005.有须求是开创一个字段来记录某条音信的近日涂改时间,

    那么大家能够在创制表的时候,就定义为

 

字段名称 timestamp  NOT NULL
 default  CU宝马X5RENT_TIMESTAMP  on update CURRENT_TIMESTAMP

 

意思是说,只要有人修改那条音信的时候,这条音讯的这一个日期字段就能够自动更新!

 

示例:

  1. 创建表

图片 8

     2.新增添两条数据

图片 9

   3.修改id为2的id为3

 图片 10

 

   4.时光会自动更新

 

 

Enum类型

# 创设三个student表

CREATE  TABLE  IF NOT EXISTS student(

 id INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ‘学生编号’,

 `name` VARCHALX570(10) NOT NULL UNIQUE KEY COMMENT ‘学生姓名’,

 sex   ENUM(‘男’,’女’) DEFAULT ‘男’ COMMENT ‘学生性别’

)ENGINE=’InnoDB’ DEFAULT CHARSET=’utf8′ COMMENT ‘学生表’;

 

6.2:创建表

1.语法

   Create  table [if not exists] 表名(

        字段名称  数据类型 [字段属性|约束 ] [索引] [注释],

字段名称  数据类型 [字段属性|约束 ] [索引] [注释]

)[表类型][表字符集][注释];  

  

2.注意点

    01.万一成立的表名,字段等与数据库中的保留字龃龉,提议选取反引号(`)括起来!

       Mysql自动生成的代码中,数据库,表名和字段都会动用 反引号(`)括起来!

        02.DDL语句创设表的时候,多少个字段之间利用逗号(,)隔离!最终一个字段没有须求逗号(,)

        03.   单行注释 #

              多行注释 /**/

        04.表中的字段我们也称得上列!

 

    3. 有标识类型  和
 无符号类型

 

 

有暗记类型 :能够取负值

无符号类型:暗中认可是0! 0–类型的长度

 

 

ZEROFILL属性:假使位数非常不足,后边用零补齐!

 

若某数值字段钦定了ZEROFILL属性,

将自动加多UNSIGNED属性!

 

 

 

 # 创设二个student表
CREATE  TABLE  IF NOT EXISTS student(
 id INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ‘学生编号’,
 `name` VARCHAGL450(10) NOT NULL UNIQUE KEY COMMENT ‘学生姓名’,
 sex  VARCHALacrosse(2) NOT NULL DEFAULT ‘男’ COMMENT ‘学生性别’
)ENGINE=’InnoDB’ DEFAULT CHARSET=’utf8′ COMMENT ‘学生表’;

# 新扩大字段
INSERT  INTO student(id,`name`,sex) VALUES(10,’小白’,DEFAULT);
INSERT  INTO student(`name`,sex) VALUES(‘小黑’,DEFAULT);
INSERT  INTO student(`name`,sex) VALUES(‘小黑2’,DEFAULT);
#  倘若大家手动的改动了电动拉长的列,那么下一次机动增加的起源就变了

#  01.而且增增加条数据

INSERT  INTO student(`name`,sex) VALUES(‘小黑1’,DEFAULT);
INSERT  INTO student(`name`,sex) VALUES(‘小黑2’,DEFAULT);
INSERT  INTO student(`name`,sex) VALUES(‘小黑3’,DEFAULT);
INSERT  INTO student(`name`,sex) VALUES(‘小黑4’,DEFAULT);

#  02.并且增扩展条数据
INSERT  INTO student(`name`,sex) VALUES(‘小黑1’,DEFAULT),(‘小黑2’,DEFAULT),(‘小黑3’,DEFAULT),(‘小黑4’,DEFAULT);

# 查询当前数据库中享有的表
SHOW TABLES;

# 查询表的概念
 DESC student;
 DESCRIBE student;

 

6.3:字段的封锁

      为了保障数据的完整性,mysql中提供了自律机制!

 

     常用的性质约束:

 

1.非空羁绊   not null

          字段不允许为空!

 

  2.暗中同意约束   default

       给字段设置暗中认可值

 

3.唯一约束   unique key(UK)

       设置字段的值是唯一。的同意有空值,但不得不有三个!

 

4.主键约束   primary key(PK)

           设置表中著录的独步一时标记!叁个表中不允许再一次!

  

5.外键约束   foreign key(FK)

           用于四个表之间创建关系关系!

           注意点:

               01.InnoDB引擎支撑外键,MYISAM引擎不协理!

               02.外键只好创立在从表中!

 

6.自动增加   auto_increment

               01.形似用于主键,默许自增1

               02.是整数类型

               03.可设置开端值和宽度

 

6.4:表和字段的笺注

      Create table  表名(

字段1  类型 comment 注释内容,

字段2 品类 comment 注释内容

)comment=’表的注脚内容’

 

6.5:表的引擎

       Create table  表名(

字段1  类型 comment 注释内容,

字段2 体系 comment 注释内容

)engine=’表的外燃机’

 

6.6:表的编码

          Create table  表名(

字段1  类型 comment 注释内容,

字段2 品种 comment 注释内容

)charset=’表的编码格式’

 

6.7:查询表

 

01.查询数据库的全体表

     Show  tables;

 

   注意点: show  tables此前务必先选择数据库!

 

02.查询表的概念

 

 describe 表名;   或者   desc 表名;

6.8:修改表

  01.修改表名

     Alter table 旧表名 rename [to] 新表名;

 

02.给表中增添字段

     Alter table 表名 add 字段名  数据类型[属性];

 

  03.修改表中的字段

    Alter table 表名 change  原字段名  新字段名 数据类型[属性];

 

  04.剔除字段

    Alter table 表名 drop 字段名;

 

  05.增添主键约束

    Alter table 表名 add  constraint 主键名 primary key  表名(字段名);

 

复合主键

    将多列设置成主键!

 

— 给战表表安装复合主键

ALTER TABLE result  ADD PRIMARY KEY  pk_result
(studentno,subjectno,examdate);

 

  06.增加外键约束

   Alter table 表名 add  constraint 外键名 foreign key (外键字段名) references  关联表名(关联字段);

 

 

如果 现在有 两个表 ,比如说  一个是 teacher  一个是 Student

两表存在主外键关系!那么 无法一贯删除teacher表!哪怕删除teacher表中的数据

也要思虑student表中是不是有和教育者对应的数据!

 

 图片 11

 

6.9:删除表

    Drop table  [if exists]表名;

 

 

 

七:MySql系统扶助

 

    Help  查询内容;

 

相关文章