mysql数据库管理、常用命令及函数(10.10 第十八天)
数据库管理:
MYSQL 轻量级数据库,适用于中小型企业,性能好,开源的(免费的)
MSSQL 微软开发的,需要安装在NT系统中,不支持跨平台,适用于中大型企业
ACCESS 小巧方便,适用于小型企业 小型项目
ORACLE 收费的,适用于大型企业,甲骨文开发的,跨平台,性能高 需要良好的硬件支持
常用框架组合:
mysql+php
mssql+asp、aspx
access+asp
oracle+java
oracle+jsp
数据库模型
关系型数据库(结构化数据库)mysql mssql oracle db2等
非关系型数据库(非结构化数据库) redis mongodb nosql postgresql Hbase等等
管理musql数据库的方式
DOS:需要配置mysql的环境变量 mysql -uroot -proot
phpmyadmin:基于网页的数据库管理平台
mysql-front:开源的C/S模式的数据库管理平台
Navicat:收费的,功能强大的数据库管理平台
mysql数据库结构:数据库名--》数据库表--》表头(字段名)--》数据内容
表中有几个字段就会有几列数据
一行数据叫记录
管理mysql数据库的常用命令:(注意:在DOS-mysql命令中需要加;)
mysql -uroot -p 登录 (二进制方式) 退出:exit
select version(); 查看当前运行的数据库版本
show databases; 查看所有的数据库
information_schema 它是5.0以后的mysql数据库自带的,汇总数据库信息
mysql 存放当前数据库信息,如登录信息、权限设置、安全设置等
use mysql; 使用mysql,表示进入到选中的数据库中
show tables; 查看当前数据库中的所有表
select * from uses; 查看uses表下所有的数据内容 *(要查找的内容 *代表全部)
修改密码:知道原密码修改:
1、进入到数据库
2、use mysql;
3、alter user "root"@"localhost" identified by "新密码";
(低版本)
update mysql.user set password=[assword('新密码')where user='root' and host='127.0.0.1';
4、flush privileges;
在mysql系统之外去修改密码
mysqladmin -u root 0p password "新密码"
忘记密码去修改(Linux中)
1、关闭mysql服务,修改配置文件mysql.ini/mysql.cnf
2、打开mysql配置文件,找到[mysqld]加上:skip-grant-tables (跳过密码验证)
3、重启mysql服务,直接免密码登录mysql数据库,利用上述方法修改密码就好
4、再把修改的配置文件注释掉
5、重启MySQL服务,使用修改的密码登录
在mysql数据库中添加账号并授权
添加账号:create user "用户"@"主机IP" identified by "密码";
主机IP:允许哪个主机可以登录,(localhost本机可登录 %任意用户可登录 IP 该IP上用户可登录)
添加权限
grant 权限 on 库名.表名 to "用户名"@"主机IP"
权限: insert drop update select all
库名.表名:表示能够操作的数据库和表 *.* 表示所有的数据库以及所有的表
grant all on *.* to "hqw"@"192.168.1.1"
注意:外联的话在配置中bind 127.0.0.1 需要注释掉,或者根据需求进行修改
数据库外联:(允许远程连接)
update user set host="%" where user="root" and host="localhost";
flush privileges;
注意:外联的话在配置中bind 127.0.0.1 需要注释掉,或者根据需求进行修改
mysql常用函数
select version();=select @@version mysql当前版本
select user(); 当前所在数据库
select @@hostname; 当前用户名
select @@tmpdir; 当前临时目录
select @@basedir; 数据库服务所在位置
select @@datadir; 数据存放的位置
数据库文件格式:
opt 编码
frm 存储表结构
myd 存储数据,数据内容
myi 存储当前的数据的配置信息和索引信息
mid(被截取的字符串,开始索引,截取的长度) 截取字符串
ord(); 显示字符ascii(首字母的)
concat( , ,......); 拼接字符串
concat_ws(分隔符, , .....); 使用分隔符拼接字符串
group_concat() 分组并拼接字符串
sleep(1) 让数据库等待1秒钟
SQL语法
创建数据库
create database te; (交互模式)
mysqladmin -uroot -proot create pentest 在DOS命令中,需要使用mysqladmin.exe
删除数据库
drop database te
mysql -uroot -proot drop te
数据库中数据类型
int 整型
bigint 大整型
float 浮点型
date 日期
time 时间
char 单个字符
varchar 变长字符
text 文本
timestamp 时间戳
double 双进度浮点型 3.00
bit 比特
tinyint 布尔
创建表:use 表
create table 表名(字段名1 数据类型primary key(主键) auto_increment(自增,看情况使用) not null(不为空),字段名2 数据类型,,,,,)DEFAULT CHARSET=utf8
表中需要一个大哥作为代表,该代表是唯一的,能够表示某个人、事物,将大哥称为主键,通过该主键能够确定一个记录
注意:字段名不需要加引号,数据类型中根据需求说明长度 VARCHAR(100)
删除表:drop table 表名
查看表中字段:show create table 表名; desc 表名
后续添加主键:
alter table 表名 add primary key(字段) 注意:主键字段名不为空
插入数据:
insert into 表名(字段名1,字段名2)value(值1,值2);
注意:自增的主键可以不插入数据
查询数据:
select 字段 from 表名;
select 字段 from 表名 where 字段名=指定值; (一个条件)
select 字段 from 表名 where 字段1=值1 and/or 字段2=值2;
限制查询
limit a,b(ab均为数字,a表示记录的索引从0开始 b记录的长度)
limit a(从0开始选择a个记录)
更新数据
update 表名 set 字段1=值1,字段2=值2 (更改所有的字段)
update 表名 set 字段1=值1,字段2=值2 where 条件
删除表中数据 delete from 表名
like字句
通配符:% 任意字符 _单个字符
select * from stu where name like “shijie%” *(模糊查询
union联合查询
语法:查询语句1 union 查询语句2 将他们查询出来的结果放在一张表中显示 他们查询出来的字段个数必须一致
可以根据查询语句2的字段数量判断查询语句1的字段数量
语法:Order by 的使用
order by 条件:根据给定的条件排序 默认情况下表的排序是升序
select * from 表 order by 字段名 [ASC/DESC] 根据执行的字段名去排序
asc升序
desc降序
select * from 表 order by 数字 表示对第n列数据进行排序,如果数字超过表格的列数,则会报错,可以根据数字来有推断表中列数
删除字段
alter table 表名 drop 字段名;
添加字段
alter table 表名 add 字段名 字段类型
修改表名
alter table 原表名 rename to 新表名;
去重查询
select distinct name from 查询的字符;
注释符:# --
数据的导入导出
导入数据:
方法1
mysql -uroot -proot <需要导入的数据库文件(data.sql)
注意:date.sql需要自动创建数据库,并且需要选择该数据库,如果data.sql不会创建数据库,则手工创建
(1)mysql -uroot -proot
(2)create database 数据库
(3)use 数据库
(4)source 数据库文件
方法2:使用phpmyadmin等平台导入数据,如果导入文件还不能创建数据库,则手动创建
方法3:mysqlimport -uroot -proot --local 数据库名 teacher.txt
首先需要创建数据库,创建表名teacher该表的字段名要和导入的数据的字段保持一致
--local 表示本地任意位置均可导入数据 -L
导出数据
- 方法1:借助平台(phpMyAdmin、mysql-fornt、navicat等等)
- 方法2:
1 mysqldump -uroot -proot 要导出的数据库名 > 路径./data.sql 导出数据库
2 mysqldump -uroot -proot 数据库名 要导出的数据表名 > 路径 导出数据表
- 方法3:
1 select 字段 from 表名 into outfile “文件名”; 将数据库中的字段内容导入到文件中
2 select * from mysql.user into outfile “./123.txt”;
3 ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
- 首次从数据库中导出文件,数据库会运行--secure-file-priv安全机制,会限制导入导出文件。查看该安全项的值:
1 show global variables like ‘%secure_file_priv%’;
2 secure_file_priv为NULL,表示MySQL限制导入导出
3 secure_file_priv没有值,表示MySQL不限制导入导出
4 secure_file_priv值为目录,表示MySQL只能在目录下执行导入导出,其他目录不允许
- 修改该安全选项:
- 临时方法:
- 修改该安全选项:
1 set global secure_file_priv=’’;
2 ERROR 1238 (HY000): Variable 'secure_file_priv' is a read only variable 表示不能通过SQL语句更改
- 长久方法:修改配置文件,在配置文件中找到[mysqld],在后面添加secure_file_priv=’’,保存退出,重启服务




mysql数据库管理、常用命令及函数(10.10 第十八天)的更多相关文章
- MySQL数据库管理常用命令
参考: http://blog.linuxeye.com/419.html 安装 利用RPM包安装MySQL 设置TCP 3306端口的iptables root密码管理 设置root用户 ...
- MySQL 数据库常用命令小结
MySQL 数据库常用命令 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删 ...
- CentOS系统操作mysql的常用命令
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了 ...
- Data Base MySQL的常用命令
MySQL的常用命令 一.下载地址: http://www.mysql.com 二.安装注意: root默认密码:123456 三.常用命令: 1.创建用户并授权: 创建用户,只能本地访问:cr ...
- MySQL备份常用命令总结
MySQL备份常用命令总结 1.数据库和数据全部备份 mysqldump -uroot -pPassword -hlocalhost databasename > test.sqlmysqldu ...
- mysql 中启动服务的命令 、登录命令、退出命令 mysql 的常用命令
1.cmd 以管理员执行 下面命令 启动服务 :net start mysql57 关闭 服务:net stop mysql57 查看mysql 的版本信息 : mysql -V 指定主机地址登录: ...
- Mac下配置git环境和客户端SourceTree+Git常用命令大全(Mac 10.12)
前言: 如果不想折腾,直接下载GitHub桌面端,高度集成git,不需要学习git的任何命令. https://desktop.github.com/ 一.配置git环境 1.上官网https://g ...
- MySQL之常用命令
前言 在说MySQL命令之前,需要介绍一些navicat:navicat是一套快速.可靠并且价格相宜的数据库管理工具,它的出现简化了数据库的管理,降低了管理成本,提高了对数据库的管理效率.Navica ...
- MYSQL的常用命令和增删改查语句和数据类型
连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...
随机推荐
- VS2008 error PRJ0002 : 错误的结果 31 (从“C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.exe”返回)。
解决方案,选择属性->配置属性->清单工具->输入和输出->嵌入清单,把是改成否
- Javascript调用本地数据库
window.location.href = urls; // 本窗口打开下载 window.open(urls, '_blank'); // 新开窗口下载 (1)new ActiveXObject( ...
- Linux CentOS7 VMware 安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库
一.安装软件包的三种方法 Linux下游三种安装方法,rpm工具.yum工具.源码包.rpm按装一个程序包时,有可能因为该程序包依赖另一个程序包而无法安装:yum工具,可以连同依赖的程序包一起安装. ...
- vb.net FTP上传下载,目录操作
https://blog.csdn.net/dzweather/article/details/51429107 FtpWebRequest与FtpWebResponse类用来与特定FTP服务器进行沟 ...
- NoSQL技术
NoSQL技术使用场景: 在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢 ...
- OKR-Periods of Words「POI 2006」
题目描述 串是有限个小写字符的序列,特别的,一个空序列也可以是一个串.一个串 P 是串 A 的前缀,当且仅当存在串 B,使得 A = PB.如果 P != A 并且 P 不是一个空串,那么我们说 P ...
- greenplum 存储过程 输出信息
raise notice 'just a simple output msg';
- POJ 3292:Semi-prime H-numbers 筛选数
Semi-prime H-numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8216 Accepted: 3 ...
- WARN No appenders could be found for logger 。。。。
对于类似与标题的警告信息,一般来说是环境在没有加载log4j的配置文件之前就读取了log4j的包. 解决方法就是先加载log4j的配置文件,然后再加载log4j的包. 另一个解决方案就是移除log4j ...
- [Android]如何导入已有的外部数据库
转自:http://www.cnblogs.com/xiaowenji/archive/2011/01/03/1925014.html 我们平时见到的android数据库操作一般都是在程序开始时创建一 ...