Mysql数据库

Apache(服务员)    php(大厨)    mysql(冰柜)

Mysql是瑞典的mysqlAB公司开发的一款中小型关系型数据库管理系统。

MysqlAB公司在2008年被Sun(java公司)给收购了

2009年Sun(java公司)被Oracle收购。

Mysql是一款免费数据库,体积小,运行速度快。

主流数据库(SQLserver微软   Oracle甲骨文   DB2(IBM)   mysql)

Mysql数据库数据库量一般保持在1000万以内,速度活性可以保持。

Mysql是一款数据库软件,需要被安装在服务器里边。

【数据存储及与mysql数据库系统的关系】

数据如何存放到数据库里边

图书管理信息(图书、借还信息、作者信息)

有一本图书,图书的名字是“php入门”,价格是“45元”,出版社“铁道出版社”,作者“孙书华”,该信息需要被存放到我们的数据库里边。

Php入门 45元  铁道出版社  孙书华(类似在记事本里边存放内容)
在记事本里边存放图书,图书的查询、修改、删除、增加都不容易操作

【访问数据库】

Php流程控制、函数

Mysql基本操作(数据库和数据表的创建和删除)

【mysql操作回顾】

1. 登陆数据库

mysql -h主机名  -u用户名  -p密码

2. 查询当前数据库管理系统有多少数据库存在

show databases;

3. 进入具体数据库/使用具体数据库

use 数据库名字;

4. 查询当前数据库数据表的情况信息

show tables;

5. 创建数据库

create database 库名;

6. 删除数据库

drop  database  库名;

7. 创建数据表book

书名name  价格price  出版社publish  作者author

create table book(

字段 
类型,

字段 类型,

)

数据类型:int整型   varchar(长度)

create table book(

name
varchar(32),

price
int,

publish
varchar(64),

author  varchar(16)

);

create table author(

name
varchar(32),

age
int

);

8. 删除数据表

drop table 表名;

mysql> #查看数据库

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| library            |

| mysql              |

| test               |

+--------------------+

4 rows in set (0.00 sec)

mysql> #查看数据表

mysql> show tables;

+-------------------+

| Tables_in_library |

+-------------------+

| author            |

| book              |

+-------------------+

2 rows in set (0.00 sec)

mysql> #创建数据库

mysql> create database shop;

Query OK, 1 row affected (0.00 sec)

ü  Mysql  -h主机名  -u用户名 
-p密码  (登陆mysql数据库)

ü  Show  databases;  (查看有多少数据库可供使用)

ü  Use  数据库名字; (进入数据库、使用数据库)

ü  Create  database  数据库名字;  (创建数据库)

ü  Drop  database  库名;     (删除数据库)

ü  Create  table  (

字段 
类型,

字段  类型

。。。

ü  )     (创建数据表)

Drop  table  表名;  (删除数据表

ü  Mysql  -h主机名  -u用户名 
-p密码  (登陆mysql数据库)

ü  Show  databases;  (查看有多少数据库可供使用)

ü  Use  数据库名字; (进入数据库、使用数据库)

ü  Create  database  数据库名字;  (创建数据库)

ü  Drop  database  库名;     (删除数据库)

ü  Create  table  (

字段 
类型,

字段  类型

。。。

ü  )     (创建数据表)

ü  Drop  table  表名;  (删除数据表)

登录mysql数据库

启动服务

说明mysql命令的没有找到,有相应的程序文件需要被执行。

解决:

设置环境变量,让系统自动帮组我们找到mysql命令所对应的执行文件。

注意:

① 我们在对数据库进行操作的时候,像创建表、删除表等操作,需要进入指定的数据库,才可以执行操作,否则提示“没有选择数据库”

如果出现以上提示,说明没有选择数据库(use  库名;)

② 每条sql语句后边都使用”;”分号结束。(use  选择数据库除外)

【为数据表添加新的记录信息】

一般数据库操作有4种基本操作:数据的增insert、删delete、改update、查select

为“图书”表添加新的数据信息

有一个问题:现在还不知道图书表有什么字段可以供操作。

Insert  into  表名  values (单域值,单域值,单域值,……);

有几个字段,就写几个单域值,并且它们是一一匹配的。

数据表所有字段信息都要补全

Php入门   60   清华出版社    韩顺平

Insert 
into  book   values 
(‘Php入门’,’60’,’ 清华出版社’,’ 韩顺平’);

Insert 
into  book   values 
(‘javascript巧妙用法’,’89’,’ 北大出版社’,’ 古龙’);

有的时候我们添加数据信息,有的字段不知道是什么值,这就要求我们可以为指定的字符添加数据信息

Insert  into  表名  (字段,字段,字段)  values  (单域值,单域值,单域值);

注意:字段与单域值 一一匹配。

Insert 
into  book  (name,publish,author)  values 
(‘css3.0特性介绍’,’铁道出版社’,’琼瑶’);

可以针对具体字段添加数据信息

( 为什么把代码复制到editplus里边

因为sql语句的标点符号都要求英文输入法的标点符号 逗号、引号

在word文档里边输入的标点符号,像单引号  是中文输入法的单引号。)

Sql语句有报语法错误:你的sql语句有语法错误,请检查手册看看你的sql语句版本是否支持你的sql语句这样的用法。

【查看数据表的数据】

数据的增insert、删delete、改update、查select

Select  * 
from  表名;  //注意 
from  不要写成 
form

l   * 会查询数据表全部字段信息

有的时候我们需要查询指定字段的信息

比如,我们只查询作者的信息  或者是
书名的信息

Select  字段,字段,字段  from  表名;

【删除数据表信息】

数据的增insert、删delete、改update、查select

Delete  from  表名;

上边的删除类似“清空”式的删除。

一般我们删除数据,需要指定具体的条件,否则会清空数据表,造成数据库事故。

 

一般数据库管理员还会使用一种方法,使得数据表的数据被清空

Truncate 
表名;  #清空数据表

比如:我们只删除“php入门”这本书,其他的图书都保留。这时候sql语句需要有限制条件。

Delete 
from  表名 
where  数据记录限制条件;

限制条件:图书的名字等于“php入门”

Delete  from 
book  where  name=’Php入门’;

价格> 具体值

价格< 具体值

根据删除,我们知道在做“查询”的时候也可以做限制条件。

比如:我想要查询价格大于70元图书的信息。

注意:

在sql语句里边,一般“值”的数据都使用引号给括起来,字段无需引号。

删除数据的时候,要有where条件,否则是清空数据表,造成数据库事故。

【多条件记录操作】

mysql> # 查询图书价格大于50元并且是北大出版社出版

mysql> select * from book where
price>50 and publish='北大出版社';

+--------------------+-------+------------+--------+

| name               | price | publish    | author |

+--------------------+-------+------------+--------+

| javascript巧妙用法 |    89 | 北大出版社 |  古龙  |

| linux常用命令      |    95 | 北大出版社 |  古龙 
|

+--------------------+-------+------------+--------+

2 rows in set (0.00 sec)

Sql语句有多种条件做限制,条件间使用“and”连接。

【记录信息修改】

数据的增insert、删delete、改update、查select

Update  表名  set  字段=’单域值’   where 
条件;  //只修改指定条件的单个字段信息

Update  表名  set  字段=’单域值’, 字段=’单域值’, 字段=’单域值’  where  条件;  //同时会修改多个字段的信息

Update  表名 set  字段=’单域值’;
 //该用法会把全部信息记录都修改,要小心使用

没有识别字段”pulish”

修改总结:

我们可以修改一个字段,也可以修改多个字段,中间使用”,”逗号分隔。

修改的时候语句有where条件限制,如果没有,则会修改全部信息记录。

【主键使用】

原则上讲每个数据表都应该有主键。

主键就是数据表里边的一个字段。字段里边的信息都是不同,可以唯一确定每条记录。

一般主键的信息我们使用自动自动增长的数字来表示。

主键作用:可以设定数据表里边的每条记录都是唯一的。

生活中也有主键的存在:一个人,名字是“张楚生”,‘男’,‘北京’,‘海淀’,如果一个公司里边有许多“张楚生”存在,并且它们的数据又极为相似,那么如何能区分出来不同的“张楚生”,我么可以通过“身份证号码”来区分不同的人。

一般习惯上使用”id”代表主键,identify 确认、标识。

真正的主键无需我们关心具体的值,它会自动网上增长。

 

现在我们创建数据表,并且表里边有主键字段。

CREATE TABLE `book` (

`id` int(11)  primary key 
auto_increment,

`name` varchar(32) default NULL,

`price` int(11) default NULL,

`publish` varchar(64) default NULL,

`author`
varchar(16) default NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

Primary key: 表示当前字段是主键

Auto_increment: 主键值会自动增长

Insert 
into  book   values 
(null, 'Php入门','60','清华出版社',' 韩顺平');

//匹配数据表全部字段,包括主键(null表示)

//单域值
的顺序是数据表 字段的顺序,不要写乱了。

Insert 
into  book   values 
(null, 'javascript巧妙用法','89','北大出版社',' 古龙');

Insert 
into  book  (publish,author ,name)  values 
('铁道出版社','琼瑶', 'css3.0特性介绍');

//设置具体字段信息,可以不用考虑主键

//字段顺序可以自定义安排

Insert 
into  book   values 
(null, 'html精通','30','清华出版社',' 韩顺平');

Insert 
into  book   values 
(null, 'linux常用命令','95','北大出版社',' 古龙');

Insert 
into  book  (name,publish,author)  values 
('jquery高级用法','铁道出版社','琼瑶');

主键是唯一的,不允许重复

我们使用未被占用的主键,后边的主键值在此自动增长。

添加信息记录的“单域值”没有全部匹配上“字段”的数目。

注意:

如果一个数据表有主键,我们不用关心它的值,主键的值会自动增长并赋予。

主键是唯一的,不允许重复主键值存在

我们可以使用未被占用的主键。之后的主键值会在此基础上自定增长。

原则上每个数据表都有一个主键。

总结:

Mysql数据库记录的“增”、“删”、“改”、“查”

增加insert

删除delete

修改update

查询select

修改、查询、删除: 可以使用where限制条件

增加:可以增加全部字段信息、也可以增加指定字段信息。

Where
条件设置 多个条件使用and进行连接

Update修改:如果同时修改多个字段信息,中间使用”,”逗号连接

主键使用。

1. 登陆数据库

mysql -h主机名  -u用户名  -p密码

2. 查询当前数据库管理系统有多少数据库存在

show databases;

3. 进入具体数据库/使用具体数据库

use 数据库名字;

4. 查询当前数据库数据表的情况信息

show tables;

5. 创建数据库

create database 库名;

6. 删除数据库

drop  database  库名;

7. 创建数据表book

书名name  价格price  出版社publish  作者author

create table book(

字段 
类型,

字段 类型,

)

数据类型:int整型   varchar(长度)

create table book(

name
varchar(32),

price
int,

publish
varchar(64),

author  varchar(16)

);

create table author(

name
varchar(32),

age
int

);

8. 删除数据表

drop table 表名;

mysql> #查看数据库

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| library            |

| mysql              |

| test               |

+--------------------+

4 rows in set (0.00 sec)

mysql> #查看数据表

mysql> show tables;

+-------------------+

| Tables_in_library |

+-------------------+

| author            |

| book              |

+-------------------+

2 rows in set (0.00 sec)

mysql> #创建数据库

mysql> create database shop;

Query OK, 1 row affected (0.00 sec)

ü  Mysql  -h主机名  -u用户名 
-p密码  (登陆mysql数据库)

ü  Show  databases;  (查看有多少数据库可供使用)

ü  Use  数据库名字; (进入数据库、使用数据库)

ü  Create  database  数据库名字;  (创建数据库)

ü  Drop  database  库名;     (删除数据库)

ü  Create  table  (

字段 
类型,

字段  类型

。。。

ü  )     (创建数据表)

Drop  table  表名;  (删除数据表

Mysql数据库操作复习,增删改查的更多相关文章

  1. MySQL数据库操作:“增删改查”,忘记密码重置等。

    [注] 数据库的“增删查改”,参考原作者Wid:http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html#d11.感谢大佬们的技术分享 ...

  2. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  3. Vc数据库编程基础MySql数据库的表增删改查数据

    Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...

  4. 【Python + Mysql】之用pymysql库连接Mysql数据库并进行增删改查操作

    用pip下载pymysql并引用 具体请参考文章: <Python之MySQL数据库增删改查操作> <python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删 ...

  5. 48.Python中ORM模型实现mysql数据库基本的增删改查操作

    首先需要配置settings.py文件中的DATABASES与数据库的连接信息, DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my ...

  6. mysql数据库单表增删改查命令

    数据库DB-database-mysql 课程安排 第一天: 1.数据库定义以及设计 2.mysql服务端的安装 3.mysql-dos操作 库的操作 表的操作 4.mysql客户端navicate工 ...

  7. 02 . Mysql基础操作及增删改查

    SQL简介 SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,SQL语言由IBM开发. SQL语句四大 ...

  8. Linq 数据库操作(增删改查)

    Linq数据库增删改查 Linq是一种查询语言,集成包含在formwork中,包含在C#语言中,它的作用是降低查询的门槛,提高开发效率,是我们必须掌握的技术之一,下面是我自己对linq数据库操作的方法 ...

  9. spring boot快速入门 4: jpa数据库操作 实现增删改查

    spring boot jpa逆向生成表 简单实例: 第一步:pom文件: <?xml version="1.0" encoding="UTF-8"?&g ...

  10. 初次尝试PHP——一个简单的对数据库操作的增删改查例子

    第一次学习PHP,很多人说PHP是最好的语言,学习了一点点,还不敢说这样的话,不过确实蛮好用的. 做了一个简单的对数据库的增删改查的操作,主要是将四种操作写成了独立的函数,之后直接调用函数.以下是代码 ...

随机推荐

  1. varchar和nvarchar的区别 数据来证明

    如果一个数据是"N好"数据类型是varchar时: select len(vartest) from testselect datalength(vartest) from tex ...

  2. ubuntu下安装程序的五种方法

    在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. 一.apt-get方法 使用a ...

  3. SpringBoot------连接mysql时出现警告:Establishing SSL connection without server's identity verification is not recommended

    SpringBoot连接MySQL时出现警告: 英文: Mon Jun :: CST WARN: Establishing SSL connection without server's identi ...

  4. 5 -- Hibernate的基本用法 --1 2 基本映射方式

    ORM工具提供了持久化类和数据表之间的映射关系.实际上,所有的ORM工具大致上都遵循相同的映射思路,ORM基本映射有如下几条映射关系: ⊙ 数据表映射类 : 持久化类被映射到一个数据表.程序使用这个持 ...

  5. .NET Framework 4.0源代码

    原文出处:http://blogs.microsoft.co.il/blogs/arik/archive/2010/07/12/step-into-net-framework-4-0-source-c ...

  6. js节流函数高级版

    节流函数其主要作用就是防止用户在短时间内多次触发该事件. <!DOCTYPE html> <html lang="en"> <head> < ...

  7. Win10 如何安装 Ubuntu

    在 Microsoft Store 中安装 Ubuntu ( 如下图1 ) 把开发者模式打开 ( 如下图2 ) 把 WSL ( Windows下的Linux子系统 ) 打开并重启电脑 ( 如下图3 )

  8. CentOS7--配置时间和日期

    CentOS7提供三个命令行工具,可用于配置和显示有关系统日期和时间的信息. timedatectl:Linux 7中的新增功能,也是systemd其中的一部分. date:系统时钟,也成为软件时钟, ...

  9. RunLoop 总结及应用

      什么是RunLoop 注释:和ppt上总结的一样 和代码一块去理解 从字面上看 运行循环 跑圈 循环 基本作用 保持程序的持续运行(比如主运行循环) 处理App中的各种事件(比如触摸事件.定时器事 ...

  10. 原生js--元素尺寸、位置和溢出

    判断元素尺寸和位置的方法: elem.getBoundingClientRect()  // 已验证IE7+.firefox.chrome均支持此方法 该方法返回一个对象(坐标值为视口坐标,不是文档坐 ...