数据库是一套结构化的电子存储的数据。 数据库的概念是我们的祖先知道的,即使没有电脑,但是创建和维护这样的数据库是非常乏味的工作。 在手动数据库说的100页,如果你要搜索的薪水均小于10K的所有雇员,只是觉得有多大困难它本来的话。
在今天的世界里,你就不能逃脱数据库 。 现在数百万的数据库正在世界各地存储和获取各种数据,如战略数据,员工记录或Web技术。
MySQL管理指南 - 第一部分
数据库oftenly称为后端进程,因为这是最终用户既看不见,也没有最终用户直接与数据库进行交互。 他们工作在前端的过程即,PHP,VB,ASP.NET等,并要求前端处理的后端数据库。
有几个数据库服务器和客户端提供如Oracle,MySQL和MySQLi的 , MariaDB的 , MongoDB的等等。 所有这些的语法或多或少相同。 掌握一个意味着获得对大多数的控制和学习数据库的查询是非常容易和有趣。
让我们从数据库上的简单查询开始。 我们将使用MySQL附带大多数Linux发行版默认的捆绑,你可以从库中手动安装它,如果它不是默认你的情况安装。
数据库查询是一个简单的代码片段,发送到数据库以获得自定义和精确的结果,如果需要。
安装MySQL数据库
用“ 荫 ”或“ 易 ”包管理器安装MySQL数据库。
# yum install mysql mysql-client mysql-server (on Yum based Systems) # apt-get install mysql mysql-client mysql-server (on Apt based Systems)
启动MySQL
启动MySQL数据库服务为:
# service mysqld start or # service mysql start
那么安装MySQL数据库将带你到你被要求设置管理员密码,等等。一旦完成安装并启动服务器去你的MySQL提示的配置。
# mysql -u root -p
与配置的用户名替换根提示时输入密码 ,如果登录凭据是正确的,你会在你的眼睛眨你的MySQL提示。
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 195 Server version: 5.5.31-0+wheezy1 (Debian) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
现在在这个提示执行查询是非常教育和乐趣。
创建数据库youcl
mysql> create database youcl ; Query OK, 1 row affected (0.02 sec) mysql>
注 :报告查询是正确的,这意味着创建数据库。 您可以将新创建的数据库验证为。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | youcl | | test | +--------------------+ 9 rows in set (0.00 sec) mysql>
注 :在上面的输出注意你的数据库。
选择数据库
现在你需要选择数据库来处理它。
mysql> use youcl; Database changed mysql>
在MySQL中创建表
在这里,我们将创建一个表说:“minttec”有三个领域:
mysql> CREATE TABLE minttec ( -> id Int(3), -> first_name Varchar (15), -> email Varchar(20) -> ); Query OK, 0 rows affected (0.08 sec) mysql>
注 :上面的查询说OK,这意味着表中没有任何错误被创建。 要验证表运行以下查询。
mysql> show tables; +-------------------+ | Tables_in_youcl | +-------------------+ | minttec | +-------------------+ 1 row in set (0.00 sec) mysql>
事情进展顺利。 对! 您可以查看您的表格“minttec”创建为列:
mysql> show columns from minttec; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | id | int(3) | YES | | NULL | | | first_name | varchar(15) | YES | | NULL | | | email | varchar(20) | YES | | NULL | | +------------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec) mysql>
这是一个魔法。 无论如何,我将告诉你关于声明的类型及其含义。
- int是整数
- VARCHAR CHAR是有定义的可变长度。 类型之后的值是它可以存储数据的字段的长度。
现在好了,我们需要增加一列说后列'FIRST_NAME' 姓氏 '。
mysql> ALTER TABLE minttec ADD last_name varchar (20) AFTER first_name; Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0
现在,在您的表中验证它。
mysql> show columns from minttec; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | id | int(3) | YES | | NULL | | | first_name | varchar(15) | YES | | NULL | | | last_name | varchar(20) | YES | | NULL | | | email | varchar(20) | YES | | NULL | | +------------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) mysql>
在MySQL中添加列
现在到了发言权一列' 国家 ',以电子邮件的权利,我们将添加一列。
mysql> ALTER TABLE minttec ADD country varchar (15) AFTER email; Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql>
验证上面的列插入查询。
mysql> show columns from minttec; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | id | int(3) | YES | | NULL | | | first_name | varchar(15) | YES | | NULL | | | last_name | varchar(20) | YES | | NULL | | | email | varchar(20) | YES | | NULL | | | country | varchar(15) | YES | | NULL | | +------------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) mysql>
在字段中插入值
如何将值插入字段?
mysql> INSERT INTO minttec VALUES ('1' , 'Ravi' , 'Saive' , 'raivsaive@xyz.com' , 'India' ); Query OK, 1 row affected (0.02 sec) mysql>
怎么样在上表中,一次插入多个值。
mysql> INSERT INTO minttec VALUES ('2' , 'Narad' , 'Shrestha' , 'narad@xyz.com' , 'India' ), ('3' , 'user' , 'singh' , 'user@xyz.com' , 'Aus' ), ('4' , 'youcl' , '[dot]com' , 'youcl@gmail.com' , 'India' ); Query OK, 3 rows affected (0.05 sec) Records: 3 Duplicates: 0 Warnings: 0
验证上面的插入。
mysql> select * from minttec; +------+------------+-----------+-------------------+---------+ | id | first_name | last_name | email | country | +------+------------+-----------+-------------------+---------+ | 1 | Ravi | Saive | raivsaive@xyz.com | India | | 2 | Narad | Shrestha | narad@xyz.com | India | | 3 | user | singh | user@xyz.com | Aus | | 4 | youcl | [dot]com | youcl@gmail.com | India | +------+------------+-----------+-------------------+---------+ 4 rows in set (0.00 sec) mysql>
删除字段中的值
让我们说上面输出中的第三个条目无效,我们需要删除第三个条目。
mysql> DELETE FROM minttec WHERE id = 3; Query OK, 1 row affected (0.02 sec)
验证以上操作。
mysql> select * from minttec; +------+------------+-----------+-------------------+---------+ | id | first_name | last_name | email | country | +------+------------+-----------+-------------------+---------+ | 1 | Ravi | Saive | raivsaive@xyz.com | India | | 2 | Narad | Shrestha | narad@xyz.com | India | | 4 | youcl | [dot]com | youcl@gmail.com | India | +------+------------+-----------+-------------------+---------+ 3 rows in set (0.00 sec)
更新字段中的值
需要编辑id(= 4)。
mysql> UPDATE minttec SET id = 3 WHERE first_name = 'youcl'; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
验证上面的查询。
mysql> UPDATE minttec SET id = 3 WHERE first_name = 'youcl'; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
注 :以上的查询,因为执行是不是一个好主意。 它将ID更改为'4',其中有史以来第一个名字是'youcl“。 使用多个列和where子句来获取最小错误总是一个好主意,如下所示:
mysql> UPDATE minttec SET id = 6 WHERE first_name = 'youcl'AND last_name = '[dot]com'; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
删除MySQL中的列
让我们需要删除(删除),我们认为一列,并不那么重要,说' 国家 '在这里。
mysql> ALTER TABLE minttec drop country; Query OK, 3 rows affected (0.15 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql>
验证表。
mysql> select * from minttec; +------+------------+-----------+-------------------+ | id | first_name | last_name | email | +------+------------+-----------+-------------------+ | 1 | Ravi | Saive | raivsaive@xyz.com | | 2 | Narad | Shrestha | narad@xyz.com | | 6 | youcl | [dot]com | youcl@gmail.com | +------+------------+-----------+-------------------+ 3 rows in set (0.00 sec) mysql>
在MySQL中重命名表
难道你不觉得我们的表名“minttec”,是不是很重要。 如何改变它youcl_table。
mysql> RENAME TABLE minttec TO youcl_table; Query OK, 0 rows affected (0.03 sec) mysql>
列出所有表
查看当前数据库下的所有表。
mysql> show tables; +-------------------+ | Tables_in_youcl | +-------------------+ | youcl_table | +-------------------+ 1 row in set (0.00 sec) mysql>
表已重命名。 现在把上面的MySQL数据库的备份,在命令一行没有任何复杂的工具。 在终端运行下面的代码,而不是在mysql提示符下。
# mysqldump -u root -p youcl > youcl.sql check the dumped file on your desktop which would have contents something like -- MySQL dump 10.13 Distrib 5.5.31, for debian-linux-gnu (i686) -- -- Server version 5.5.31-0+wheezy1 -- Dump completed on 2013-09-02 12:55:37
它总是保持一个好主意, MySQL数据库的备份 。 恢复备份MySQL的数据又是一个简单的代码行,你需要在你的终端提示符,而不是在你的mysql提示符下运行。
但是,首先我们将删除数据库以验证我们的恢复是否完美。
删除数据库
mysql> drop database youcl; Query OK, 1 row affected (0.02 sec)
检查数据库服务器上的数据库'youcl'。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | my_database | | mysql | | performance_schema | | phpmyadmin | | sisso | | test | +--------------------+ 7 rows in set (0.00 sec) mysql>
大! 数据库丢失,但我们不必担心,我们有备份。
还原数据库
要恢复丢失的数据库,请运行以下命令。
# mysql -u root -p youcl < youcl.sql Enter password: ERROR 1049 (42000): Unknown database 'youcl'
OOPS! 一个错误,嘿,我们并没有创建数据库youcl。 所以去你的mysql提示并创建一个数据库“youcl”。
mysql> create database youcl; Query OK, 1 row affected (0.00 sec) mysql>
现在时间运行恢复命令在您的shell提示符(严格)。
# mysql -u root -p youcl < youcl.sql Enter password:
验证您的数据库。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | youcl | | test | +--------------------+ 8 rows in set (0.00 sec)
验证数据库的内容。
mysql> show tables from youcl; +-------------------+ | Tables_in_youcl | +-------------------+ | youcl_table | +-------------------+ 1 row in set (0.00 sec) mysql>
验证已还原表的内容。
mysql> select * from youcl_table; +------+------------+-----------+-------------------+ | id | first_name | last_name | email | +------+------------+-----------+-------------------+ | 1 | Ravi | Saive | raivsaive@xyz.com | | 2 | Narad | Shrestha | narad@xyz.com | | 6 | youcl | [dot]com | youcl@gmail.com | +------+------------+-----------+-------------------+ 3 rows in set (0.00 sec)
这不是结尾处明确,我们将覆盖主键 , 外键 , 多表,并在文章的下一部分使用简单的PHP脚本运行查询的概念。
不要忘了告诉我们 ,你的感受,同时通过文章去。 您的评论高度赞赏。 保持健康和调整 ,保持连接到youcl。