http://www.web008.net

初识MySQL

5.4:删除数据库

      drop  database 数据库名称;

6.9:删除表

    Drop table  [if exists]表名;

 

 

 

6.7:查询表

 

01.查询数据库的全体表

     Show  tables;

 

美高梅手机版,   注意点: show  tables从前必得先选取数据库!

 

02.查询表的概念

 

 describe 表名;   或者   desc 表名;

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.可安装开头值和幅度

 

1.2:使用数据库的须求性

1.方可布局化的积累多量的数目消息,方便客商进行拜见和操作

    数据库可以对数码进行分拣保存,提升大家的探望成效。

 

2.可以保障数据音讯的风华正茂致性,完整性,收缩数据的冗余

    数据库中有工作(ACID天性)来有限支撑数据新闻的风华正茂致性,完整性;

    数据库自己也是有节制来裁减数据的冗余。

 数据冗余(Redundance):数据重复的光景!

 

3.可以满意使用的平安和分享方面的要求

    要是大家把职工的具有音信,都保存在四个txt文件中,那么职员和工人的薪给就能暴表露来!很肯定那是不准的!

    如果把多少放在数据库中,大家能够节制唯有财务职员才具查询薪酬!而任何职员和工人只好查询自身的音讯!

3.2:连接mysql数据库

01.连连命令

    Mysql  -h 服务器主机地址 -u 顾客名 -p密码

 

02.倘使是本机操作,能够简简单单-h

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

  如果-p之后书写密码,则无需有空格

 

Root客商连接mysql数据库

Mysql  -u root  -p密码

-p和密码之间无法有空格

 

 

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

  数据库管理连串(DataBase Management System,简单的称呼DBMS):便是管理数据库的类别!

  

  数据库系统(DataBase System,简单的称呼DBS):富含数据库软件,数据库和数据库管理员!

 

  数据库助理馆员(DataBase Administrator,简单的称呼DBA):创造,监察和控制和维护整个数据库的行业内部部管理理职员!     

 

  数据库( DataBase) 

 

  

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

 

 

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

 

美高梅手机版 1

 

 

 

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集团的关系型数据库处理体系!

 

注意点:

     即便数据库不等同,然则对数码的操作都毫无二致,有的操作命令都以同等的!

 

关系型数据库:是指创设在事关模型底子上的数据库,凭借于会集代数等数学概念和形式来管理数据库中的数据!

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` VARCHA奥迪Q5(10卡塔尔(英语:State of Qatar) NOT NULL UNIQUE KEY COMMENT '学子姓名',
 sex  VARCHAHighlander(2卡塔尔(英语:State of Qatar) 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;

 

风姿潇洒:数据库介绍

引入:

   大家事情未发生前运用的数目都是积攒在内部存储器中的!比方说我们写叁个挂号作用。

大家第后生可畏须求在内部存款和储蓄器中开创三个指标,之后输入注册要求的顾客名和密码等数码!

下一场登录时,输入注册的多少就可以变成登入!

 

  注册成功未来  比方客商名是admin 密码是123456

 

并发的标题:

请问

01.顾客的多寡放在哪儿了?

02.假若身处内部存款和储蓄器中,下次登入还利用之前注册的客商名和密码,能登录吗?

  明显是无法的! 因为程序风流倜傥旦运转实现,内部存款和储蓄器中的数据也任何时候毁灭!

 

怎么办?

01选拔连串化保存对象到文件中

02.应用xml保存数据到文件中

 

   然而把大批量的数额放在文件中,大家对文本数量的读写效能是相对超级慢的!

还要也不便于大家管理文件中的数据!这时就必要有新的积累格局来代表!

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

 

3.4:MySql中数据库类型

1.客户数据库

      顾客依照须求本人成立的数据库!是大家钻探的机要!

 

2.系统数据库

   安装完mysql之后,私下认可附带的数据库

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

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

03.mysql:存款和储蓄了系统的客商权限新闻

04.test:数据库处理种类活动创建的测验数据库,任何客商都得以利用

 

 

 

4.3:SQL中的运算符

  01.算术运算符

   +   加法

   -   减法

   *   乘法

   /   除法

   %   取余

 

02.赋值运算符

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

 

03.比较运算符

  >  大于

  <  小于

  <=  小于等于

  >=  大于等于

  <>  不等于

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

 

04.逻辑运算符

  And  当四个表明式都为true,再次回到true

  Or   当多个表明式有一个为true,重回true

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

 

 

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

1.1:什么是数据库

概念:遵照数据结构来公司,存储和治本数据的饭馆,大家称为数据库(DataBase,简单的称呼:DB)。

那几个囤积的数码可以是各类情势:如文字,符号,图片,录像,音频等!

从广义上的话,大家的txt文件,word文书档案,excel文件都能够精晓成七个数据库!

在IT的社会风气里,数据库指的是由职业技术团队开荒的用于存款和储蓄数据的软件系统!

 

6.6:表的编码

          Create table  表名(

字段1  类型 comment 注释内容,

字段2 品种 comment 注释内容

卡塔尔(英语:State of Qatar)charset=’表的编码格式’

 

五:使用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卡塔尔(英语:State of Qatar)

那么那个字段的取值重回是 -99.9 到 99.9

 

  1. 字符串类型

 

Char(M卡塔尔国   M字节  固定长度的字符串,M的取值再次来到是0-255

       若是插入的多寡字节数非常不够,空格补全!

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

 

Varchar(M卡塔尔 可变长度 M的取值再次回到是0-65535

       就算插入的数目字节数远远不够无需补全!

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

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

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

 

  1. 日子类型

 

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

等 都以能够正确给日期类型的字段赋值成功!

 

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

003. CURRENT_TIMESTAMP   那几个函数获取系统 年月日 时转眼

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

005.有须要是创办一个字段来记录某条音信的近年改善时间,

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

 

字段名称 timestamp  NOT NULL  default  CU奥迪Q5RENT_TIMESTAMP  on update CURRENT_TIMESTAMP

 

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

 

示例:

  1. 创建表

美高梅手机版 2

     2.新扩充两条数据

美高梅手机版 3

   3.修改id为2的id为3

 美高梅手机版 4

 

   4.年华会自动更新

 

 

Enum类型

# 创设贰个student表

CREATE  TABLE  IF NOT EXISTS student(

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

 `name` VARCHAEscort(10卡塔尔(قطر‎ NOT NULL UNIQUE KEY COMMENT '学生姓名',

 sex   ENUM('男','女'卡塔尔 DEFAULT '男' COMMENT '学子性别'

)ENGINE='InnoDB' DEFAULT CHARSET='utf8' COMMENT '学生表';

 

2.2:配置mysql情况变量

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

   02.右键作者的Computer===》属性===》高端系统装置===》境遇变量===》把刚刚复制的bin路径归入path变量中就能够!

   

 

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.出道时间短,作用未有关系型数据库完备

 

美高梅手机版 5

美高梅手机版 6

美高梅手机版 7

美高梅手机版 8

 

5.3:接纳数据库

      use 数据库名称;

 

3.1:启动mysql服务

01.win+R 输入 services.msc

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

03.win+R 输入 cmd

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

05.net stop mysql 截止服务

四:SQL简介

5.1:创设数据库

create database 数据库名称;

 

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

1 row affected :表示影响的行数

    0.00sec :表示实施时间

6.4:表和字段的讲授

      Create table  表名(

字段1  类型 comment 注释内容,

字段2 项目 comment 注释内容

卡塔尔(قطر‎comment=’表的注释内容’

 

sc delete mysql 删除服务!

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)

美高梅手机版 9

 

 

 

 

 

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;

 

二:Mysql的配置

MySql默许的端口号是3306

6.5:表的引擎

       Create table  表名(

字段1  类型 comment 注释内容,

字段2 种类 comment 注释内容

卡塔尔(英语:State of Qatar)engine=’表的斯特林发动机’

 

三:命令行连接MySql

在windows操作系统中,命令不区分抑扬顿挫写!

4.1:什么是SQL

SQL的齐全部都是(Structred Query Language)构造化查询语句。

01.一九七三年被提议,壹玖柒玖年更名字为SQL

02.关系型数据库的标准语言

03.数据库脚本文件的恢弘名

 

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表中是不是有和老师对应的多寡!

 

 美高梅手机版 10

 

七:MySql系统协助

 

    Help  查询内容;

 

1.5:MySql数据库的性状

     版本分类:

 

               01.社区版:

随意下载无偿!适用于普通客户!

               02.企业版:

无法自有下载并且收取金钱!官方提供了生机勃勃体化的技巧帮助!

适用于对数据库须求相比高的公司顾客!

   优势:

        01.运营速度快,因为MySql体量小,命令施行进程快

        02.应用开支低,因为MySql无需付费开源(相对于大几人而言)                 

        03.命理术数易用,相对于其余数据库的设置和治本

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

     

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

select version(),user();

美高梅手机版 11

 

 

 

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字节)来编码。包涵了世道上具有国家急需的字符,是国际编码,通用性强!

 

5.2:查询数据库列表

      show  databases;

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

 

郑重声明:本文版权归美高梅163888所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。