一,连接MySQL
二,MySQL管理与授权
三,数据库简单操作
四, 数据库备份
五,后记
一,连接MySQL
格式:mysql -h 远程主机地址 -u 用户名 -p 回车
输入密码进入:
mysql -u root -p 回车
Enter password: ,输入密码就可以进入
mysql> 进入了
退出命令:>exit 或者ctrl+D
二,MySQL管理与授权
1.修改密码:
格式:mysqladmin
-u 用户名 -p 旧密码 password 新密码
2.增加新用户:
>grant create,select,update....(授予相关的操作权限)
->on 数据库.*
-> to 用户名@登录主机
identified by '密码'
操作实例:
给root用户添加密码:
# mysqladmin -u root password 52netseek
因为开始root没有密码,所以-p旧密码一项可以省略.
登陆测试:
# mysql -u root -p 回车
输入密码,成功登陆.
将原有的mysql管理登陆密码52netseek改为52china.
# mysqladmin -u root -p 52netseek password
'52china'
创建数据库添加用户并授予相应的权限:
mysql> create database phpbb;
Query OK, 1 row affected (0.02 sec)
mysql> use phpbb;
Database changed
mysql> grant
create,select,update,insert,delete,alter
-> on phpbb.*
-> to phpbbroot@localhost identified by
'52netseek';
Query OK, 0 rows affected (0.00 sec)
授予所有的权限:
>grant all privileges
>on bbs.*
>to bbsroot@localhost identified by
'52netseek'
回收权限:
revoke
create,select,update,insert,delete,alter
on phpbb.*
from phpbbroot@localhost identified by
'52netseek';
完全将phpbbroot这个用户删除:
>use mysql
>delete from user
where user='phpbbroot' and
host='localhost';
>flush privileges; 刷新数据库
三,数据库简单操作
1.显示数据库列表:
>show databases;
mysql
test
2.使其成为当前操作数据库
>use mysql; 打开数据库.
>show tables; 显示mysql数据库中的数据表.
3.显示数据表的表结构:
>describe 表名;
>describe user; 显示user表的表结构:
4.创建数据库,建表
>create database 数据库名;
>use 数据库名;
>create table 表名(字段设定列表)
5.删除数据库,册除表
>drop database 数据库名;
>drop table 表名;
6.显示表中的记录;
select * from 表名;
7.修改数据库结构:
增加字段:
alter table dbname add column <字段名><字段选项>
修改字段:
alter table dbname change <旧字段名> <新字段名><选项>
删除字段:
alter table dbname drop column <字段名>
实例操作:
>create database office;
>use office;
mysql> create table personal(
-> member_no char(5) not null,
-> name char(,
-> birthday date,
-> exam_score tinyint,
-> primary key(member_no)
-> );
Query OK, 0 rows affected (0.01 sec)
>desc personal; 显示表结构:
+------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default |
Extra |
+------------+------------+------+-----+---------+-------+
| member_no | char(5) | | PRI | | |
| name | char( | YES | | NULL | |
| birthday | date | YES | | NULL | |
| exam_score | tinyint(4) | YES | | NULL |
|
+------------+------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
insert into personal values
('001','netseek','1983-03-15','95');
insert into personal values
('002','heihei','1982-02-24','90');
insert into personal values
('003','gogo','1985-05-21','85');
insert into personal values
('004','haha','1984-02-25','84');
insert into personal values
('005','linlin','1982-04-28','85');
您正在看的MySQL教程是:MySQL数据库学习笔记。 insert into personal values
('006','xinxin','1985-03-15','75');
mysql> select * from personal;
+-----------+---------+------------+------------+
| member_no | name | birthday | exam_score
|
+-----------+---------+------------+------------+
| 001 | netseek | 1983-03-15 | 95 |
| 002 | heihei | 1982-02-24 | 90 |
| 003 | gogo | 1985-05-21 | 85 |
| 004 | haha | 1984-02-25 | 84 |
| 005 | linlin | 1982-04-28 | 85 |
| 006 | xinxin | 1985-03-15 | 75 |
+-----------+---------+------------+------------+
修改数据库表:
要求: 在birthday这后增加一个为height的字段,数据类型为tinyint.
将字段exam_score 改名为scores,数据类型不变
>alter table personal
->add column height tinyint after
birthday,
->change column exam_score scores tinyint;
mysql> select * from personal;
+-----------+---------+------------+--------+--------+
| member_no | name | birthday | height |
scores |
+-----------+---------+------------+--------+--------+
| 001 | netseek | 1983-03-15 | NULL | 95 |
| 002 | heihei | 1982-02-24 | NULL | 90 |
| 003 | gogo | 1985-05-21 | NULL | 85 |
| 004 | haha | 1984-02-25 | NULL | 84 |
| 005 | linlin | 1982-04-28 | NULL | 85 |
| 006 | xinxin | 1985-03-15 | NULL | 75 |
+-----------+---------+------------+--------+--------+
给表中插入数据:
>update personal set scores=95+5 where
name='netseek';
>select scores from personal where
name='netseek';
+--------+
| scores |
+--------+
| 100 |
+--------+
删除表名字为'gogo'所有的信息中的的:
> delete from personal where
name='gogo';
册除数据库中的表:
mysql>drop table if exists personal;
三,数据库的导入与导出
导出:
使用select into
outfile 'filename'语句
使用mysqldump实用程序
使用select into
outfile 'filename'语句
1.只能处理单个表,输出文件只有数据,没有表结构
我们要将office,其中有一个表为personal,现在要把personal卸成文本文件out.txt:
>use office;
>select * from personal into outfile
'out.txt'; 可以看在/var/lib/mysql/office/目录下有out.txt
select * from personal into outfile
'./out.txt'; 可以看在out.txt 在/var/lib/mysql/目录下用out.txt
2.使用mysqldump实用程序(可以轻松处理多个表)
# cd /var/lib/mysql
导出建立相关表的建表命令和插入指令
# mysqldump bbs >bbs.sql 将数据库bbs导入到bbs.sql中
如果要将bbs.sql导入数据库可以使用:
mysql> create database bbstest; 先建立一个名为office 的数据库.
# mysql bbstest <bbs.sql (这个常用在将本地的数据库文件传到服务器上,再导入到数据库中)
只想导出建表指令:
# mysqldump -d bbs >bbscreate.sql
只想导出插入数据的sql指令:
# mysqldump -t bbs >bbsinsert.sql
同时导出数据库中建表指令和表中的数据:
# mysqldump -T./ bbs cdb_admingroups (其中./表示当前目录,cdb_admingroups为bbs数据库其中的一个表)
#ls
cdb_admingroups.sql 导出了建表指令
cdb_admingroups.txt 导出了表中的数据
导入:
从文件中加载数据库:
mysql>load data infile
"/tmp/name.txt" into table names;
mysql>select * from names;
四,数据库备份
1.手动拷贝备份:
MySQL数据库的文件保存在目录/var/lib/mysql中,数据库为每个库建立一个目录,所有的数据库文件都在这些目录中.
[root@linuxhero mysql]#ls
[root@linuxhero mysql]#servcie mysqld stop 先停止数据库
bbs mysql mysql.sock phpbb test office 显示其中的数据库.
如果我们要将现在的数据库目录备份为mysql.bak .
[root@linuxhero lib]# cp -rf mysql
mysql.bak
如果数据库遭到了破坏,现在要将数据库恢复:
[root@linuxhero lib]# cp -rf mysql.bak/*
mysql
恢复数据库以后,var/lib/mysql中的文件已改变了,要更改文件的所属权限必须改变MySQL数据库的用户读写权限。
所以我们得启动和运行mysql,并登陆数据库:
[root@linuxhero lib]# /etc/init.d/mysqld
start
[root@linuxhero lib]# mysql
您正在看的MySQL教程是:MySQL数据库学习笔记。-u root -p
Enter password:输入密码成功登陆.
mysql> show databses;
2.利用mysqldump来备份数据库
[root@linuxhero mysql]# mysqldump --opt bbs
-u root -p > bbs.sql
Enter password:
注:--opt添加备份的其它选项,bb为其中一个数据库名,
上面的意思是:使用重定向输出将备份写入到文件bb.sql中.
[root@linuxhero mysql] #less bbs.sql
如果要恢复bb这个数据库,则进行如下操作:
[root@linuxhero mysql] #mysql bbs -u root
-p < bbs.sql
如果要备份所有数据库:
[root@linuxhero mysql] #mysqldump --opt
--all-databases -u root -p >mysql.bak
Enetr password:输入密码即可
恢复所有数据库,不用输入数据库的名字:
[root@linuxhero mysql] #mysql -u root -p
< mysql.bak
Enetr password: 输入密码即可
五,后记:
MySQL数据库个人学习笔记,这是我个人学习过程中的一个简单的总结,这些都是常用的,希望对于希望学习mysql的朋友有所帮助,如果有什么不对或者不妥的地方请多多指教,欢迎大家与我交流学习Linux相关的知识
分享到:
相关推荐
mysql修改语句 mysql语句用法,添加、修改、删除字段mysql语句用法,添加、修改、删除字段mysql语句用法,添加、修改、删除字段mysql语句用法,添加、修改、删除字段mysql语句用法,添加、修改、删除字段mysql语句用法,...
MySQL语句用法、添加、修改、删除字段 MySQL是一种流行的关系型数据库管理系统,能够存储和管理大量的数据。为了有效地管理和维护数据库,需要掌握相应的MySQL语句。下面将详细介绍MySQL语句的用法,包括添加、修改...
本文将详细讲解如何连接MySQL,管理用户权限,以及执行基本的数据库操作,包括添加、修改和删除字段。 首先,连接MySQL服务器是所有操作的基础。通过使用`mysql`命令行客户端,可以按照以下格式连接到远程或本地的...
* 修改表:使用 `alter table` 语句可以修改一个表的结构,例如修改表名、修改字段类型、修改字段名、增加列、增加/删除主键、增加/删除外键等。 表数据操作(CRUD) * 查询:使用 `select` 语句可以从表中查询...
在MySQL中,当涉及到表结构的修改,如添加、删除或更改字段,数据库系统会采取一定的策略来完成这些操作。在标题"关于表添加多个字段的速度问题1"中,讨论的核心是表结构更新时的速度优化。描述中提到,MySQL在修改...
本文将详细介绍如何使用SQL语句来添加、删除和修改表中的字段,以及其他一些基本的操作。 #### 二、增加字段 增加字段使用`ALTER TABLE`语句,其基本格式如下: ```sql ALTER TABLE 表名 ADD 字段名 数据类型; ```...
在Java开发中,将Java实体类转换为MySQL数据库的建表语句是一项常见的任务,它有助于快速构建数据库模型,尤其在使用ORM(对象关系映射)框架如Hibernate、MyBatis时更为便捷。本篇文章将深入探讨这个过程,并提供...
可以使用 update 语句来修改 host 值。例如,可以使用命令 update mysql.user set host='localhost' where user='root'; 来修改 root 用户对应的 host 值。然后,可以查看是否修改成功。 最后,需要保存修改生效,...
MySQL 语句大全及用法 MySQL 是一个开源的关系数据库管理系统,广泛应用于 Web 应用程序中。在本文中,我们将详细介绍 MySQL 的基本概念、语句大全及用法。 数据库概述及数据准备 ### 1. SQL 概述 SQL...
总的来说,"mysql 一条语句删除多表" 是一种高级的数据库操作技巧,它可以显著提升删除关联数据的效率,但也需要谨慎使用,以免误删重要数据。在实际应用中,结合事务处理、备份策略以及良好的数据库设计,可以确保...
在MySQL中,可以使用ALTER TABLE语句来添加字段。ALTER TABLE语句是一种用于修改已有表格的SQL语句,可以用于添加、删除、修改表格中的字段等操作。
MySQL是一种广泛使用的开源...以上就是MySQL语法语句的基本框架,每个部分都有许多细分的细节和用法,需要通过实际操作和学习来深入了解和掌握。实践中,根据业务需求灵活运用这些语句,可以实现高效的数据管理和处理。
### MySQL查询表中字段数量的方法 在MySQL数据库中,了解一个表包含多少个字段是非常重要的基础操作之一。这不仅有助于数据库管理员更好地管理数据结构,还能够帮助开发人员更准确地编写SQL查询语句。本文将详细...
ALTER TABLE语句可以添加、删除或修改表的字段。 4. **查询操作** - 简单查询:SELECT * FROM table_name; 获取表中所有数据。 - 条件查询:WHERE子句用于指定查询条件,如SELECT * FROM table_name WHERE ...
MySQL 字段加密 ...MySQL 字段加密是通过设置 varbinary 类型的字段、设置加密盐为全局变量和使用 AES_ENCRYPT 和 AES_DECRYPT 函数来实现的。这种方法可以对敏感数据进行保护,提高数据库的安全性。
### MySQL语句大全知识点解析 #### 一、概述 MySQL是一种流行的关系型数据库管理系统(RDBMS),被广泛应用于各种规模的应用程序中。本篇将基于提供的文档内容,深入解析MySQL中的核心语句及其应用场景,帮助读者更好...
在探讨“mysql修改语句”的知识点时,我们主要聚焦于SQL中的UPDATE语句,这是数据库管理中最常用的命令之一,用于修改已存在的数据行。在给定的文件信息中,可以看到一系列重复的UPDATE语句,其目标是将多个表...