加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 金华站长网 (https://www.0579zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

mysql 8.0 安装配置方法教程

发布时间:2016-12-06 13:26:13 所属栏目:云计算 来源:网络整理
导读:一、安装mysql yum源 从官网http://dev.mysql.com/downloads/repo/yum/下载mysql最新的yum源的rpm安装包 wget http://repo.mysql.com//mysql57-community-release-el6-9.noarch.rpm 使用yum安装rpm包 yum install mysql57-community-release-el6-9.noarch.

1.显示MYSQL的版本

mysqlgt; select version(); 
+-----------------------+ 
| version() | 
+-----------------------+ 
| 6.0.4-alpha-community | 
+-----------------------+ 
1 row in set (0.02 sec)

2. 显示当前时间

mysqlgt; select now(); 
+---------------------+ 
| now() | 
+---------------------+ 
| 2009-09-15 22:35:32 | 
+---------------------+ 
1 row in set (0.04 sec)

3. 显示年月日

SELECT DAYOFMONTH(CURRENT_DATE); 
+--------------------------+ 
| DAYOFMONTH(CURRENT_DATE) | 
+--------------------------+ 
| 15 | 
+--------------------------+ 
1 row in set (0.01 sec) 
 
SELECT MONTH(CURRENT_DATE); 
+---------------------+ 
| MONTH(CURRENT_DATE) | 
+---------------------+ 
| 9 | 
+---------------------+ 
1 row in set (0.00 sec) 
 
SELECT YEAR(CURRENT_DATE); 
+--------------------+ 
| YEAR(CURRENT_DATE) | 
+--------------------+ 
| 2009 | 
+--------------------+ 
1 row in set (0.00 sec)

4. 显示字符串

mysqlgt; SELECT "welecome to my blog!"; 
+----------------------+ 
| welecome to my blog! | 
+----------------------+ 
| welecome to my blog! | 
+----------------------+ 
1 row in set (0.00 sec)

5. 当计算器用

select ((4 * 4) / 10 ) + 25; 
+----------------------+ 
| ((4 * 4) / 10 ) + 25 | 
+----------------------+ 
| 26.60 | 
+----------------------+ 
1 row in set (0.00 sec)

6. 串接字符串

select CONCAT(f_name, " ", l_name) 
AS Name 
from employee_data 
where title = 'Marketing Executive'; 
+---------------+ 
| Name | 
+---------------+ 
| Monica Sehgal | 
| Hal Simlai | 
| Joseph Irvine | 
+---------------+ 
3 rows in set (0.00 sec) 

注意:这里用到CONCAT()函数,用来把字符串串接起来。另外,我们还用到以前学到的AS给结果列'CONCAT(f_name, " ", l_name)'起了个假名。

5、数据表操作

5.1 创建数据表
命令:create table lt;表名gt; ( lt;字段名1gt; lt;类型1gt; [,..lt;字段名ngt; lt;类型ngt;]);

例如,建立一个名为MyClass的表:

nbsp;nbsp;nbsp;nbsp; mysql 8.0 安装配置方法教程

mysqlgt; create table MyClass(
gt; id int(4) not null primary key auto_increment,
gt; name char(20) not null,
gt; sex int(4) not null default '0',
gt; degree double(16,2));

5.2 删除数据表
命令:drop table lt;表名gt;

例如:删除表名为 MyClass 的表
nbsp;nbsp; mysqlgt; drop table MyClass;

DROP TABLE用于取消一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!

注意:对于一个带分区的表,DROP TABLE会永久性地取消表定义,取消各分区,并取消储存在这些分区中的所有数据。DROP TABLE还会取消与被取消的表有关联的分区定义(.par)文件。

对与不存在的表,使用IF EXISTS用于防止错误发生。当使用IF EXISTS时,对于每个不存在的表,会生成一个NOTE。

RESTRICT和CASCADE可以使分区更容易。目前,RESTRICT和CASCADE不起作用。

5.3表插入数据
命令:insert into lt;表名gt; [( lt;字段名1gt;[,..lt;字段名n gt; ])] values ( 值1 )[, ( 值n )]

例如:往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99, 编号为3 的名为Wang 的成绩为96.5。
nbsp;nbsp; mysqlgt; insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

注意:insert into每次只能向表中插入一条记录。

5.4查询表中的数据
1)、查询所有行
命令: select lt;字段1,字段2,...gt; from lt; 表名 gt; where lt; 表达式 gt;
例如:查看表 MyClass 中所有数据
nbsp;nbsp; mysqlgt; select * from MyClass;

2)、查询前几行数据
例如:查看表 MyClass 中前2行数据
mysqlgt; select * from MyClass order by id limit 0,2;

select一般配合where使用,以查询更精确更复杂的数据。

5.5 删除表中数据

命令:delete from 表名 where 表达式

例如:删除表 MyClass中编号为1 的记录
mysqlgt; delete from MyClass where id=1;

下面是一个删除数据前后表的对比。

mysql 8.0 安装配置方法教程

下面以PHP代码为例删除 "Persons" 表中所有 LastName='Griffin' 的记录:

lt;#63;php 
 $con = mysql_connect("localhost","peter","abc123"); 
 if (!$con) 
 {
 die('Could not connect: ' . mysql_error()); 
 } 
 mysql_select_db("my_db", $con); 
 mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con); 
#63;gt;

在这次删除之后,表是这样的:

mysql 8.0 安装配置方法教程

5.6修改表中数据
语法:update 表名 set 字段=新值,… where 条件
nbsp;nbsp; mysqlgt; update MyClass set name='Mary' where id=1;

例子1:单表的MySQL UPDATE语句:
nbsp;nbsp; UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]

例子2:多表的UPDATE语句:
UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。如果指定了ORDER BY子句,则按照被指定的顺序对行进行更新。LIMIT子句用于给定一个限值,限制可以被更新的行的数目。nbsp;

5.7增加字段
命令:alter table 表名 add字段 类型 其他;
例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
nbsp;nbsp; mysqlgt; alter table MyClass add passtest int(4) default '0'

加索引
nbsp;nbsp; mysqlgt; alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysqlgt; alter table employee add index emp_name (name);

加主关键字的索引
nbsp; mysqlgt; alter table 表名 add primary key (字段名);
例子: mysqlgt; alter table employee add primary key(id);

加唯一限制条件的索引
nbsp;nbsp; mysqlgt; alter table 表名 add unique 索引名 (字段名);
例子: mysqlgt; alter table employee add unique emp_name2(cardnumber);

删除某个索引
nbsp;nbsp; mysqlgt; alter table 表名 drop index 索引名;
例子: mysqlgt;alter table employee drop index emp_name;

增加字段:
mysqlgt; ALTER TABLE table_name ADD field_name field_type;

修改原字段名称及类型:
mysqlgt; ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

删除字段:
MySQL ALTER TABLE table_name DROP field_name;

5.8修改表名
命令:rename table 原表名 to 新表名;

例如:在表MyClass名字更改为YouClass
nbsp;nbsp; mysqlgt; rename table MyClass to YouClass;

当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

如果在多表更名中,MySQL 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态。

RENAME TABLE 在 MySQL 3.23.23 中被加入。

6、备份数据库
命令在DOS的[url=file://mysqlbin]mysqlbin[/url]目录下执行

1.导出整个数据库
导出文件默认是存在mysqlbin目录下
nbsp;nbsp;nbsp; mysqldump -u 用户名 -p 数据库名 gt; 导出的文件名
nbsp;nbsp;nbsp; mysqldump -u user_name -p123456 database_name gt; outfile_name.sql

2.导出一个表
nbsp;nbsp;nbsp; mysqldump -u 用户名 -p 数据库名 表名gt; 导出的文件名
nbsp;nbsp;nbsp; mysqldump -u user_name -p database_name table_name gt; outfile_name.sql

(编辑:PHP编程网 - 金华站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!