必赢365net手机版MySQL数据库学习笔记

 

MySQL基本概念甚至简单操作

 

一、MySQL

 

  MySQL是五个关系型数据库管理种类,由SverigeMySQL AB
公司成本,最近属于Oracle 旗下产品。MySQL
是最风靡的关系型数据库管理种类之方兴未艾,在 WEB 应用方面,MySQL是最佳的 凯雷德DBMS
(Relational Database Management System,关周详据库管理连串) 应用软件。

  MySQL是将数据保存在不一致的表中,并不是将持有数据放在八个大旅社间里,这样就增添了速度并抓好了灵活性。

  MySQL所利用的 SQL 语言是用来访谈数据库的最常用口径语言。MySQL
软件应用了双授权政策,分为社区版和商业版,由于其体量小、速度快、总体具备开支低,极其是开放源码这大器晚成特点,平常中型迷你型网址的付出都选用MySQL 作为网址数据库。

是因为其社区版的习性非凡,搭配 PHP 和 Apache可组成优越的开荒条件

 

二、MySQL与任何的大型数据库相比

  比方Oracle 、DB2、SQL Server等相比,MySQL
自有它的白璧微瑕,不过这丝毫也未有缩小它受款待的程度。对于平日的村办使用者和中Mini集团的话,MySQL提供的作用已经游刃有余,并且由于
MySQL是开放源码软件,因而能够大大减少总体具有资金财产。

  Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL
作为数据库,PHP/Perl/Python作为劳动器端脚本解释器。由于那三个软件都是无需付费或开源软件软件(FLOSS:Free/Libre
and Open Source
Software),因而接纳这种方法除开人工开销就能够创制起五个牢固、无需付费的网址系列,也被誉为“LAMP“或“LNMP”组合。

 

三、数据库在Web中的重要性

 

  为使静态的HTML页面做活,形成动态页面展现,要求经过Apache服务器端PHP脚本编制程序语言,依托数据库管理数量,达成动态化,因此学习PHP的还要,领悟MySQL数据库的基本操作是有须要的。

四、常见的黄金时代部分数据库系统

  MySQL、DB2、Oracle、SQL
Server、玛丽亚DB等等,由于MySQL已然是Oracle旗下产品,恐怕会被闭源,不再无偿,但MariaDB数据库管理体系是MySQL的七个拨出,重要由开源社区在保险,MariaDB是全然包容MySQL,富含API和命令行,使之能轻轻巧松造成MySQL的取代品。在积存引擎方面,MariaDB基于事务的Maria存款和储蓄引擎,替换了MySQL的MyISAM;使用XtraDB来替代MySQL的InnoDB。

五、数据库类型

  1.关系型数据库

  2.非关系型数据库

六、SQL结构化查询语言

  必需是透过服务器,连接大家的数据库,才具扩充操作

  使用种种SQL语句、增、删、改、查

  1.数码定义语言(DDL):

  用于定义和治本数据对象,包蕴数据库,数据表等。举例:CREATE,DROP,ALTE大切诺基等。

  数据库 -> 数据表:对数据库或数据表的创造、删除、修改等操作

  2.数量操作语言(DML):

  用于操作数据库对象中所包罗的数量。比如:INSERT,UPDATE,DELETE语句。

  对数据的 增、删、改 这个操作,就是数码操作语言

  3.多少查询语言(DQL):

  用于查询数据库对象中所富含的数额,能够进行单表查询,

  连接查询,嵌套查询,以致集聚查询等种种复杂程度差别的数据库查询,并将数据

  再次来到想客机中展现。SELECT

  4.数据调整语言(DCL):

  是用来治本数据库的语言,饱含管理权限及数据变动。

七、在DOC系统中操作MySQL

  由于本身是私人民居房学习,安装景况是在windows操作系统中成就的,相当于windows+Apache+PHP+MySQL的集成包,上边简单称谓之为“wamp”。要在DOC系统中操作MySQL

前供给开展的局部布置

  1> 境遇变量

    我的Computer -> 右击属性 -> 高等系统装置 -> 景况变量
->系统变量 ->path

    在path变量后增进;变量值

    变量值正是MySQL下的bin目录路线 

    注意:必须拉开wamp服务器才足以进来

  2>进入MySQL数据库

    DOS系统下清屏的通令:cls

    mysql -h localhost -u root -p -b

      -h 服务器(当地、钦命服务器IP的)[本地localhost能够归纳]
      -u 客商名(大家用的是root客户:一流管理员)
      -p 客商密码(不供给再它背后写密码,密码是回车之后写的)
      -b 蜂鸣器(当命令敲错了,报错开上下班时间提醒的声息)

  3>步向MySQL数据库将来的下令

    注意:
    1> 每百废俱兴行命令甘休了随后,请使用 ; 或 g
来终止,不然命令能够一贯写下去
    2>
在MySQL的通令中,假设意气风发行命令未有敲完,就回车了,它会继续施行下去,前提是必得是一条完整的一声令下
    3> 退出敲错的指令、或不想继续试行下去的通令时,用c 或者
Ctrl+c
    4>
我们要想让数据竖起来展现,在命令后用G,不常候风流倜傥行盛不下了会乱,G能够化解这些主题素材
    5> s 能够呈现当前服务器的安插
    6> help 查看全数能够动用的急忙命令
    7>
借使在指令行中遭遇了单引号,则MySQL以为你要输入风流倜傥段字符串,所以,它是必得运用实现的单引号,可以跳出字符串输入状态;

  4> 退出数据库服务器
    q 、 exit、 quit  三者皆可

    注意:

      要想将大家在DOS命令行下面输入的具有的吩咐都存款和储蓄到三个文书档案中,就须求利用tee命令

    tee 路径;

    例如:tee E:wampwwwTestTest_MySQL1.php

八、操作数据库的有的指令

    1.开立数据库

      create database 数据库名;

    注意:
      1.假诺数据库已存在,无法制造同名的数据库
      2.成立命令和数据库名都不区分朗朗上口写

      if not exists
假如数据库已存在,加上后边的首要字能够制止报错

    2.刨除数据库

      drop database 数据库名;

    3.查看已创设的数据库

      show databases;

    4.利用八个数据库

      use 数据库名;

    5.查看当前大家所接受的数据库

      select database();

    6.查看建库语句

      show create database 数据库名;

      表达:通过该命令,我们能够见到所建数据库的建库语句、编码类型;

      注意:
          1.MySQL数据库中命令不区分轻重缓急写。

          2.每创设一个数据库,就能够在data目录下创办三个以此数据库名称命名的文书夹。

          3.在Windows下,数据库名称也是不区分朗朗上口写的,但在Linux下,数据库名称严峻区别抑扬顿挫写。

    7. 对数据表的操作

      表中的字段,其实能够了然为table表格中的表头

          1>创立数据表(不加任何主键音信,自增,数据限制标准的简约数据表成立)>最早练习可用
            create table 表名(
            字段名1 字段类型,
            字段名2 字段类型,
            字段名3 字段类型
            );

            注意:
            1.创办三个数额表时,它的每一种字段之间用逗号”,”隔断;
            2.最后贰个字段不用逗号”,”;
            3.创设完表今后,最终的括号前面使用分号截至
            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 条件;

              注意:删除数据的时候,一定要增进where条件,不然会去除全数的数据

          3>
修改数据

             update 表名 set 要修改的字段=修改后的值 where
条件

              注意:修改数据的时候,应当要丰硕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)


//删除数据库lamp183
mysql> drop database lamp183;
Query OK, 1 row affected (0.01 sec)


//删除数据库lamp183
mysql> drop database lamp183;
Query OK, 0 rows affected (0.00 sec)


//创建数据库lmap175
mysql> 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 lamp175G;
*************************** 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数据库中创建stu数据表
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;    //查看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)


//查看stu的建表语句[可以查看到该表的编码类型,存储类型]
mysql> show create table stu;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| stu   | CREATE TABLE `stu` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(32) DEFAULT NULL,
  `sex` varchar(2) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `job` varchar(32) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)



//查看stu表的建表语句[竖起来查看]
mysql> show create table stuG;    
*************************** 1. row ***************************
       Table: stu
Create Table: CREATE TABLE `stu` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(32) DEFAULT NULL,
  `sex` varchar(2) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `job` varchar(32) DEFAULT NULL
) 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)


//删除stu数据表
mysql> drop table stu;
Query OK, 0 rows affected (0.00 sec)


//创建stu数据表
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)


//查看stu数据表的表结构
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)


//查看stu数据表的所有数据
mysql> select * from stu;
Empty set (0.00 sec)


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


//查看stu数据表中所有数据
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

 

Leave a Comment.