Mysql 数据库(一)
简介:
数据库的相关知识
数据库不应该之间存放视频或者文件的,而存放的应该是相对应的链接。数据库的软件还需要有缓存机制的,用了记录用户登录的状态。
关系型数据库:就是表与表之间的关系,或者是有表结构
非关系型数据库:数据都是key对应Value存放的,都是存放在内存中的,读取数据是非常快的。主要是记录状态和支持持久化,而且还会定期将记录刷到硬盘上。
非关系数据库的典型有:redis,mecache
文件和数据库的关系:文件中的内容就是数据库的一条记录;文件夹中的文件就是一张表;一个文件夹就是数据库里面的一个库。
查看一个文件:打开连接---》切到一个文件下---》找到一个文件---》打开文件---》读取记录---》关闭文件---》关闭连接 (优化,加锁处理,权限认证)
安装数据库指的是:数据库管理系统。
创建数据库指的是:创建一个''文件夹''。
关系型数据库的管理系统:mysql , orcale , mariadb , db2 , sql server
非关系型数据库:数据都是以key=value的形式存放的。
数据库服务器指的是:安装有数据库管理系统软件的一台机器。
文件与数据库:
文件 数据库
一行内容 一条记录
一个文件 一张表
一个文件夹 一个库
mysql基本使用:
netstat -an | dindstr 3306 :创建端口,数据库的端口默认就是3306
1、mysql -uroot -p123 :登录
2、select user(); :查看用户
3、quit、exit、\q :退出 \c : 不执行该条语句
4、help create user; :查看帮助信息
5、create user '用户名'@'localhost' :创建本地账号
create user '用户名'@''ip地址' 或者 create user '用户名'@'192.168.*' :指定IP或者是在该网段
create user '用户名'@'%’ :只有能拼接,都能链接起来
后面加上:identified by '密码’ :创建用户同时设置密码
6、grant all privileges :放行所有权限,不包括grant
grant all on 路径.表名 to '用户名'@‘%’:放行某张表的所有权限
grant all on *.* to 'egon’@'%':放行所有的权限给egon这个用户
grant select :授权查看
flush privileges; :刷新权限
7、grant all privileges on *.* to '用户名’@'%' identified by '123'; :创建账号同时授权
8、mysql -u用户名 -p密码 -hip地址 :远程连接
9、show databases;:查看所有的数据库
10、mysqladmin -u用户名 -p‘’密码‘’ password 修改的密码 :修改密码
11、破解密码的步骤:
杀死mysqld服务:tasklist | findstr mysql :查看当前开启的进程
tskill mysqld :按照进程名杀死mysql服务
taskkill -f /PID 5320 :按照PID杀死mysql服务,如果前面的不行杀死,就用后面的那一种
跳过授权表启动:mysql --skip-grant-tables
修改密码:update mysql.user set password=password('密码')where user='用户名’ and host='localhost;第二个password是一个函 数,where后面跟上条件,过滤条件
刷新权限:flush privileges
tskill mysqld
tasklist | findstr mysql
mysqld
重新以新密码登录!!!
mysql 增删改查命令:
操作库(文件夹):
增:
create database 库名 charset 字符编码
查:
show databases :查看数据库下面的所有库
show create database 库名 #查看某一个库
改:
alter database 库名 charset 字符编码 :现在修改库的也只有字符编码了
删:
drop database 库名: 删除一个库
操作表(文件)
use 库名 :切换库
select database() :查看当前所在的库
增:
create table t1(表的标题,以逗号分开,标题规定类型) :创建一张表
后面可以加上:egine=innodb :储存引擎,就是表的类型,这个制订了一张表对应几个文件。
添加上一个字段:alter table 表名 add 字段名 类型
表里面的一些类型:int() :整数类型括号里面传入数字定义长度
char() :字符串类型括号里面传入数字可以指定长度
not null unique :不能传入一个空的记录
primary key :不能为空,并且还要唯一
查:
show tables :查看表
show create table 表名 :查看某一张表
desc 表名 :查看表结构
改:
alter table 表名 charset 编码格式 :修改编码格式
default charset 编码格式 :修改字符编码
alter table 表名 modify 字段名 类型 :修改字段类型
alter table 表名 change 字段名1 字段名2 类型 :修改字段名
删:
drop table 表名 :删除一个表
操作记录(数据)
增:
insert into 路径 .表名(标题) values (记录),(记录),(记录),(记录);
查:
select 字段 from 路径.表名 :查看某些字段信息
select * from 路径.表名 :查看所有的信息
改:
update 路径.表名 set 字段=记录 :修改改字段的记录
update 路径.表名 set 字段=记录 where 字段=记录 :修改具体某一个的信息
删:
delete from 路径.表名 :删除整个表记录,仅仅只哦于删除的效果,没有吧表重置到初始状态的功能
delete from 路径.表名 where 条件 :按照某个条件删除
truncate 路径.表名 :情况表,并且还可以重置
补充:将mysql做成系统服务: mysql --install
取消:mysql --romove
在服务中可以直接鼠标操作mysql服务的启动与停止
在cmd中也可以操作
net start mysql
net stop mysql
练习:
1 创建一个课程表:
mysql> create table class(cid int primary key auto_increment,-> acption char(5));
Query OK, 0 rows affected (0.21 sec)mysql> insert into fang.class(acption)values('三年二班'),-> ('一年三班'),-> ('三年一班');
Query OK, 3 rows affected (0.06 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from fang.class;
+-----+----------+
| cid | acption |
+-----+----------+
| 1 | 三年二班 |
| 2 | 一年三班 |
| 3 | 三年一班 |
+-----+----------+
3 rows in set (0.00 sec)
2 创建一个学生表:
mysql> create table student(sid int primary key auto_increment,-> sname char(5),-> gender char(5),-> class_id int(100));
Query OK, 0 rows affected (0.24 sec)mysql> insert into fang.student(sname,gender,class_id)values('钢蛋','女',1),-> ('铁锤','女',1),-> ('山炮','男',2);
Query OK, 3 rows affected (0.25 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from fang.student;
+-----+-------+--------+----------+
| sid | sname | gender | class_id |
+-----+-------+--------+----------+
| 1 | 钢蛋 | 女 | 1 |
| 2 | 铁锤 | 女 | 1 |
| 3 | 山炮 | 男 | 2 |
+-----+-------+--------+----------+
3 rows in set (0.03 sec)
3 创建一个老师 表:
mysql> create table teacher(tid int primary key auto_increment,-> tname char(5));
Query OK, 0 rows affected (0.25 sec)mysql> insert into teacher(tname)values('波多'),-> ('苍空'),-> ('饭岛');
Query OK, 3 rows affected (0.07 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from fang.teacher;
+-----+-------+
| tid | tname |
+-----+-------+
| 1 | 波多 |
| 2 | 苍空 |
| 3 | 饭岛 |
+-----+-------+
3 rows in set (0.00 sec)
4 创建一个课程表:
mysql> create table course(cid int primary key auto_increment,-> cname char(5),-> tearch_id int(100));
Query OK, 0 rows affected (0.48 sec)mysql> insert into fang.course(cname,tearch_id)values('生物',1),-> ('体育',1),-> ('物理',2);
Query OK, 3 rows affected (0.04 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from fang.course;
+-----+-------+-----------+
| cid | cname | tearch_id |
+-----+-------+-----------+
| 1 | 生物 | 1 |
| 2 | 体育 | 1 |
| 3 | 物理 | 2 |
+-----+-------+-----------+
3 rows in set (0.03 sec)
5 创建一个成绩表:
mysql> create table score(sid int primary key auto_increment,-> student_id int(100),-> corse_id int(100),-> number int(3));
Query OK, 0 rows affected (0.23 sec)mysql> insert into fang.score(student_id,corse_id,number)values(1,1,60),-> (1,2,59),-> (2,2,100);
Query OK, 3 rows affected (0.05 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> select * from fang.score;
+-----+------------+----------+--------+
| sid | student_id | corse_id | number |
+-----+------------+----------+--------+
| 1 | 1 | 1 | 60 |
| 2 | 1 | 2 | 59 |
| 3 | 2 | 2 | 100 |
+-----+------------+----------+--------+
3 rows in set (0.00 sec)
转载于:https://www.cnblogs.com/bsxq/p/7729170.html
Mysql 数据库(一)相关推荐
- .net连接mysql数据_.net连接MYSQL数据库的方法及示例!
连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...
- MySQL数据库+命令大全+常用操作
格式:mysql -h主机地址 -u用户名 -p用户密码 1. 例:连接到本机上的MYSQL 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示 ...
- mysql数据库是一个软件呐_15款好用的mysql管理软件
1. Induction Induction是一款用于理解数据关系的开源管理工具,它可用来探索行/列,运行查询和数据可视化等方面.该工具支持多种数据库,包括PostgreSQL,MySQL,SQLit ...
- c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...
这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...
- C语言对mysql数据库的操作
C语言对mysql数据库的操作 原文:C语言对mysql数据库的操作 这已经是一相当老的话题.不过今天我才首次使用,把今天的一些体会写下来,也许能给一些新手带来一定的帮助,更重要的是供自己今后忘记的怎 ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- python用django连接mysql_三分钟了解Django如何连接Mysql数据库
处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py 在views函数文件中添加register函数,来处理用户注册 ...
- mysql数据库比对视频教程_MySQL数据库全学习实战视频教程(27讲 )
一)mySQL数据库简介:MySQL属于关系型数据库,是当前最流行的关系型数据库管理系统之一,在WEB项目使用方面,MySQL是最好的 RDBMS应用软件. 二)本mySQL数据库视频教程目录如下: ...
- eclipse关闭mysql数据库,有关于用eclipse连接mysql数据库出现的问题以及解决办法
写帖子是为了让更多的程序员减少再调试bug中的时间,也希望大家能一起把自己遇到的错误及解决方法写出来.我是一个刚开始学java的大二学生,用的是<java开发实战经典>.在写p646的程序 ...
- bd2和mysql语法区别,经验:在MySQL数据库中,这4种方式可以避免重复的插入数据!...
最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下 ...
最新文章
- 垃圾回收器的基本原理是什么?
- OpenCV特征检测Feature Detection
- Swift5.x使用纯代码创建NavigationTab控制器设置启动图Wb第1部分
- C语言代码规范(十)花里胡哨代码鉴赏
- From AlphaGo Zero to 2048论文分享
- RTMP协议学习笔记
- 有大招儿?请收下这份关于数据与智能的晋级攻略!
- android动态添加圆,Android开发中TextView 实现右上角跟随文本动态追加圆形红点
- Java新手求助,将两个文件合并为一个文件执行程序是发生的问题
- pycharm ubuntu 安装_pycharm使用远程python解释器
- FlexPaper查看.swf文件的使用方法
- 前端做CRM管理系统是做什么_总结一下最近做crm客户管理系统使用到的前端知识点...
- hardfault常见原因_stm32 HardFault_Handler调试及问题查找方法
- 使用yum命令创建缓存时报错:Peer cert cannot be verified or peer cert invalid
- 2020,我不想奋斗了
- C语言基本语法——循环篇(三种常见的循环)
- 淘宝、天猫、京东主图及详情页尺寸
- sql语句(select,create,drop,alter,delete,insert,update,grant)
- 思想的沉淀,精辟,杨澜如是说
- lm283_飞利浦Tango LED泛光灯BVP283-普照网