MySQL数据库学习笔记<一> – MR_leew

mysql的根本概念和复杂开刀

一、MySQL

  MySQL是任一相干数据库经营零碎。,由瑞典MySQL AB 公司剥削,眼前,它是甲骨文的后果。。MySQL 它是最盛行的相干数据库经营零碎经过。,在 WEB 用功关心,MySQL是最好的 RDBMS (相干 Database Management System,相干数据库经营零碎) 用功软件。

  MySQL贮存器在形形色色的的表说话中肯数据,而不是将自己的事物数据放在任一大仓库栈,这将提出枯萎:枯萎和提出柔韧性。。

  MySQL所运用的 SQL 交谈是最经用的出口数据库的使标准化交谈。MySQL 该软件运用双重相信谋略。,它分为社区版和商业版。,鉴于它的大量的小、枯萎:枯萎快、总体只得本钱较低。,特别开源的特点,普通中小网站的开展被选中。 MySQL 作为网站数据库。

鉴于社区版的出色体现,词的搭配 PHP和 Apache可以组成任一良好的剥削周围。

二、MySQL与安心大型号的数据库的比力

譬如,Oracle 、DB2、SQL 上菜用具等,MySQL 它有它自己的不使完满。,但这并缺少裁短其普及度数。。几乎普通的独特的用户和中小型企业,MySQL陈设了十足多的功用。,鉴于 MySQL是任一开源软件。,这么大的可以庞大地裁短总只得本钱。。

  Linux作为开刀零碎,Apache和Nginx作为 Web 上菜用具,MySQL 作为任一数据库,作为上菜用具端本子解说器。鉴于这四种软件都是收费的或开源软件。:Free/Libre and Open Source 软件),从此处,可以经过距离本钱来创办这么大的的稳定性。、收费网站零碎,也高气压灯或LNMP结成。

三、数据库在web说话中肯骄傲

  为了使静态HTML呼叫。,变成任一静态呼叫显示,必要运用Apache上菜用具端PHP本子交谈。,依托数据库处置数据,了解静态,因而同时得知PHP,次要的MySQL数据库的根本开刀是施恩惠的。

四、些许共有的的数据库零碎

  MySQL、DB2、Oracle、SQL Server、MariaDB等,鉴于MySQL早已变成Oracle的任一制作。,可能性是封的努力挖掘。,不再释放,但MariaDB数据库经营零碎是MySQL的任一发枝的,它次要由开源社区保养。,MariaDB使完满可以并存的MySQL,包罗API和命令行,这么大的它不费力地变成MySQL的替代者。。在贮存器引擎上,玛丽亚MariaDB本事务的贮存器引擎,掉换了MySQL的MyISAM;运用XtraDB来代表MySQL的InnoDB。

五、数据库典型

1。相干数据库

  2。非相干型数据库

六、SQL体系化查询交谈

只得经过上菜用具,衔接人们的数据库,开刀最大限度的

  运用多种SQL宣判、增、删、改、查

  1。数据界限交谈(DDL):

  用于界限和经营数据客体,包罗数据库,一览表等。譬如:CREATE,DROP,使不适等。

  数据库 -> 一览表:发现数据库或一览表、剔除、修正和安心开刀

  2。数据开刀交谈(DML):

  用于处置数据库客体中象征的数据的数据。。譬如:INSERT,UPDATE,DELETE宣判。

  对数据的 增、删、改 这些开刀,它是数据开刀交谈。

  三.数据查询交谈(DQL):

  用于查询数据库客体中象征的数据。,能手段单表查询,

  衔接查询,嵌套查询,此外具有形形色色的不同类的各式各样的数据库查询,如搜集,和数据

  现场恢复到客户端显示。SELECT

  4。数据把持交谈(DCL):

  它是用来经营数据库交谈,包罗功率和数据更动经营。

七、MySQL在doc零碎说话中肯开刀

鉴于谈独特的详细地检查,装置周围是在windows开刀零碎中做完的,就是,Windows的集成包,上面约分之为“wamp”。要MySQL在doc零碎说话中肯开刀

那个必要做过去的的词的搭配

  1> 周围变量

    我的电脑 -> 右键单击属性 -> 较年长者零碎设置 -> 周围变量 ->零碎变量 ->path

    添加到途径变量;变量值

    变量值是mysql下的bin含量途径。

    当心:Wamp上菜用具只得翻开上

  2>进入MySQL数据库

    DOS零碎下的屏风:cls

    mysql -h localhost -u root -p -b

      -h 上菜用具(土著人)、选定的的上菜用具IP)[土著人localhost可以省略]
u用户名(人们运用root用户:超级经营员)
用户密码电文(不必要使后退写密码电文,密码电文是在现场恢复后以书面提出的。
B buzzer(当敲错了命令,当语音准时的有毛病)

  3>进入MySQL数据库以来的命令

    当心:
1> 每政党的完毕后,请运用 ; 或 \g 来完毕,或许命令可以每时每刻以书面提出
2> 在mysql的命令下,假设缺少怦怦跳完毕的命令行,回到车上,它将持续手段。,假定是它只得是任一使完满的命令。
3> 出了有毛病的次、或不舒服持续手段命令,用\c 或许 Ctrl+c
4> 人们期望数据能站起来。,命令后运用,偶尔一件商品使繁荣会一团糟,g可以处理这问题。
5> \s 可以显示提出上菜用具词的搭配
6> help 您可以运用快捷方式命令检查自己的事物
7> 假设引号在命令行会合,MySQL以为您要输出字母行。,因而,它是引号完毕只得运用,可以跳出字母行输出条款。;

  4>脱离数据库上菜用具
\q 、 exit、 脱离三可以

    当心:

      您想贮存器人们在走输出的自己的事物命令。,你必要运用tee命令

    tee 途径;

    譬如:tee E:\wamp\www\Test\Test_MySQL\

八、些许命令来开刀数据库

    1。发现任一数据库

      create database 数据库名;

    当心:
1。假设数据库早已在,无法发现具有相等的名声的数据库
2。命令和数据库名声的发现不区别大小写。

      if not exists 假设数据库早已在,添加后面的保留字以防止有毛病报告

    2。剔除数据库

      drop database 数据库名;

    三.检查发现的数据库

      show databases;

    4。运用数据库

      use 数据库名;

    5。检查提出在运用的数据库

      select database();

    6。检查解释阐明

      show create database 数据库名;

      阐明:经过这命令,人们可以留心数据库构造宣判。、编码典型;

      当心:
该命令在数据库中不区别大小写。。

          2。发现数据库,任一文件夹,命名后的数据库名声在数据含量发现。

          三.在Windows,数据库的名声都不的敏感。,但在Linux,数据库名声与加盖于和加盖于严密的区别开来。。

    7. 一览表的开刀

      表说话中肯军事]野战的,实际上,它可以听说为表说话中肯头。

          1 >发现任一一览表(缺少无论哪个大调书信),自增,由数据约束发现的复杂一览表)
create table 表名(
军事]野战的名声1 军事]野战的典型,
军事]野战的名声2 军事]野战的典型,
军事]野战的名声3 军事]野战的典型
);

            当心:
1。发现任一一览表,它的每个军事]野战的私下的任一逗号,”隔开;
2。末尾拳击比赛不运用逗号,”;
三.在发现表,末尾任一类别层次是运用分号
表4。解释,写表表名军事]野战的名后类别层次中(现场型)

          2> 检查表体系

            desc 表名;

          3> 见表表

            show create table 表名;

          4> 检查提出数据库中目前的的一览表

            show tables;

          5> 剔除一览表

            drop table 表名

    8。数据开刀

          1> 添加数据
① insert into 表名 (1场,2场……) values (值1),值2……);

            ② insert into 表名 values (值1),值2……),(值1),值2……);

            ③ insert into 表名 (1场,2场……) values (值1),值2……),(值1),值2……);

            ④ insert into 表名 values (值1),值2。

            ⑤ insert into 表名 set 军事]野战的1 =值1,2场=值2…;

              当心:
1。值和军事]野战的名对应一一对应。,抑或就错了。
2。您编制的值只得与数据典型婚配。

          2> 剔除数据

             delete from 表名 where 资格;

              当心:当数据被剔除时,一定要增加资格。,抑或,自己的事物数据将被剔除。

          3> 修正数据

             update 表名 set 要修正的军事]野战的=修正后的值 where 资格

              当心:修正数据时,一定要增加资格。,抑或,自己的事物数据都将被修正。

          4> 查找数据

             select (自己的事物军事]野战的) from 表;

             select 军事]野战的1,2场.. from 表;

上面是数据库上复杂开刀的任一示例:

php
//开刀数据库的一种复杂办法

显示自己的事物数据库的在mysql> show databases;    
+--------------------+
| Database           |
+--------------------+
| information_schema |
| lamp183            |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 SEC)


//剔除数据库lamp183mysql> drop database lamp183;
Query OK, 1 row affected (0.01 SEC)


//剔除数据库lamp183mysql> drop database lamp183;
Query OK, 0 rows affected (0.00 SEC)


//发现任一数据库lmap175mysql> create database lamp175;
Query OK, 1 row affected (0.00 SEC)


//检查提出数据库[未发现的数据库,使相等它是发现的mysql> select database();
+------------+
| database() |
+------------+
| NULL       |
+------------+
1 row in set (0.00 SEC)


//运用lamp175数据库mysql> use lamp175;
Database changed


//眼前的一览使知晓lamp175,此数据库是提出开刀的库。mysql> select database();
+------------+
| database() |
+------------+
| lamp175    |
+------------+
1 row in set (0.00 SEC)


//看lamp175解释国家 G可以肖像画显示。mysql> show create database lamp175\G;
*************************** 1. row ***************************
       Database: lamp175
Create Database: CREATE DATABASE `lamp175` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 SEC)

ERROR: 
No query specified


//看lamp175书目国家mysql> show create database lamp175;
+----------+--------------------------------------------------------------------+
| Database | Create Database                                                    |
+----------+--------------------------------------------------------------------+
| lamp175  | CREATE DATABASE `lamp175` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+--------------------------------------------------------------------+
1 row in set (0.00 SEC)


mysql> create database lamp183;
Query OK, 1 row affected (0.00 SEC)

mysql> use lamp183;
Database changed


//发现数据库的lamp183详细地检查一览表mysql> create table stu(    
    -> id int,
    -> name varchar(32),
    -> sex varchar(2),
    -> age int,
    -> job varchar(32)
    -> );
Query OK, 0 rows affected (0.05 SEC)


mysql> desc stu;    //检查先生一览表的表体系。
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(32) | YES  |     | NULL    |       |
| sex   | varchar(2)  | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
| job   | varchar(32) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
5 rows in set (0.00 SEC)


//看一眼表[斯图宣判可以留心紧跟的编码典型,贮存器典型]mysql> show create table stu;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| stu   | CREATE TABLE `stu` (
  `id` int(11) DEFAULTNULL,
  `name` varchar(32) DEFAULTNULL,
  `sex` varchar(2) DEFAULTNULL,
  `age` int(11) DEFAULTNULL,
  `job` varchar(32) DEFAULTNULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 SEC)



//看先生表的表格表[竖直风景]mysql> show create table stu\G;    
*************************** 1. row ***************************
       Table: stu
Create Table: CREATE TABLE `stu` (
  `id` int(11) DEFAULTNULL,
  `name` varchar(32) DEFAULTNULL,
  `sex` varchar(2) DEFAULTNULL,
  `age` int(11) DEFAULTNULL,
  `job` varchar(32) DEFAULTNULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1 row in set (0.00 SEC)

ERROR: 
No query specified


//检查提出数据库说话中肯自己的事物表。mysql> show tables;
+-------------------+
| Tables_in_lamp183 |
+-------------------+
| stu               |
+-------------------+
1 row in set (0.00 SEC)


//剔除历史一览表mysql> drop table stu;
Query OK, 0 rows affected (0.00 SEC)


//发现任一斯图一览表mysql> create table stu(
    -> id int,
    -> name varchar(32),
    -> sex varchar(2),
    -> age int,
    -> job varchar(32)
    -> );
Query OK, 0 rows affected (0.01 SEC)


//检查先生一览表的表体系。mysql> desc stu;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(32) | YES  |     | NULL    |       |
| sex   | varchar(2)  | YES  |     | NULL    |       |
| age   | int(11)     | YES  |     | NULL    |       |
| job   | varchar(32) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
5 rows in set (0.00 SEC)


//检查先生一览表的自己的事物数据。mysql> select * from stu;
Empty set (0.00 SEC)


//在一览表中拔出数据mysql> insert into stu set id=9,name=''haiyang'',sex=''w'',age=38,job=''toupai'';
Query OK, 1 row affected (0.00 SEC)


//检查历史一览表说话中肯自己的事物数据。mysql> select * from stu;
+------+----------+------+------+---------+
| id   | name     | sex  | age  | job     |
+------+----------+------+------+---------+
|    1 | zhangsan | w    |   18 | laobao  |
|    2 | lisi     | m    | NULL | NULL    |
|    3 | wangwu   | w    | NULL | NULL    |
|    4 | maliu    | m    | NULL | NULL    |
|    5 | zhaoqi   | w    | NULL | NULL    |
|    6 | wangba   | m    |   20 | baoan   |
|    7 | haibo    | w    |   28 | guigong |
|    8 | hongze   | m    |   17 | student |
|    9 | haiyang  | w    |   38 | toupai  |
+------+----------+------+------+---------+
9 rows in set (0.00 SEC)
//脱离MySQL数据库mysql> \q

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注