MySQL基本概念以及简单操作
一、MySQL
四、常见的一些数据库系统
MySQL、DB2、Oracle、SQL Server、MariaDB等等,由于MySQL已是Oracle旗下产品,可能会被闭源,不再免费,但MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,MariaDB是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM;使用XtraDB来代替MySQL的InnoDB。
五、数据库类型
1.关系型数据库
2.非关系型数据库
六、SQL结构化查询语言
必须是通过服务器,连接我们的数据库,才能进行操作
使用各种SQL语句、增、删、改、查
1.数据定义语言(DDL):
用于定义和管理数据对象,包括数据库,数据表等。例如:CREATE,DROP,ALTER等。
数据库 -> 数据表:对数据库或数据表的创建、删除、修改等操作
2.数据操作语言(DML):
用于操作数据库对象中所包含的数据。例如:INSERT,UPDATE,DELETE语句。
对数据的 增、删、改 这些操作,就是数据操作语言
3.数据查询语言(DQL):
用于查询数据库对象中所包含的数据,能够进行单表查询,
连接查询,嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据
返回客户机中显示。SELECT
4.数据控制语言(DCL):
是用来管理数据库的语言,包括管理权限及数据更改。
七、在DOC系统中操作MySQL
由于我是个人学习,安装环境是在windows操作系统中完成的,也就是windows+Apache+PHP+MySQL的集成包,下面简称之为“wamp”。要在DOC系统中操作MySQL
前需要进行的一些配置
1> 环境变量
我的电脑 -> 右击属性 -> 高级系统设置 -> 环境变量 ->系统变量 ->path
在path变量后加上;变量值
变量值就是MySQL下的bin目录路径
注意:必须开启wamp服务器才可以进去
2>进入MySQL数据库
DOS系统下清屏的命令:cls
mysql -h localhost -u root -p -b
-h 服务器(本地、指定服务器IP的)[本地localhost可以省略]
-u 用户名(我们用的是root用户:超级管理员)
-p 用户密码(不需要再它后面写密码,密码是回车之后写的)
-b 蜂鸣器(当命令敲错了,报错时提示的声音)
3>进入MySQL数据库以后的命令
注意:
1> 每一行命令结束了以后,请使用 ; 或 \g 来结束,否则命令可以一直写下去
2> 在MySQL的命令中,如果一行命令没有敲完,就回车了,它会继续执行下去,前提是必须是一条完整的命令
3> 退出敲错的命令、或不想继续执行下去的命令时,用\c 或者 Ctrl+c
4> 我们要想让数据竖起来显示,在命令后用\G,有时候一行盛不下了会乱,\G可以解决这个问题
5> \s 可以显示当前服务器的配置
6> help 查看所有可以使用的快捷命令
7> 如果在命令行中遇到了单引号,则MySQL认为你要输入一段字符串,所以,它是必须使用结束的单引号,可以跳出字符串输入状态;
4> 退出数据库服务器
\q 、 exit、 quit 三者皆可
注意:
要想将我们在DOS命令行下边输入的所有的命令都存储到一个文档中,就需要使用tee命令
tee 路径;
例如:tee E:\wamp\www\Test\Test_MySQL\1.php
八、操作数据库的一些命令
1.创建数据库
create database 数据库名;
注意:
1.如果数据库已存在,不能创建同名的数据库
2.创建命令和数据库名都不区分大小写
if not exists 如果数据库已存在,加上前面的关键字可以避免报错
2.删除数据库
drop database 数据库名;
3.查看已创建的数据库
show databases;
4.使用一个数据库
use 数据库名;
5.查看当前我们所使用的数据库
select database();
6.查看建库语句
show create database 数据库名;
说明:通过该命令,我们可以看到所建数据库的建库语句、编码类型;
注意:
1.MySQL数据库中命令不区分大小写。
2.每创建一个数据库,就会在data目录下创建一个以此数据库名称命名的文件夹。
3.在Windows下,数据库名称也是不区分大小写的,但在Linux下,数据库名称严格区分大小写。
7. 对数据表的操作
表中的字段,其实可以理解为table表格中的表头
1>创建数据表(不加任何主键信息,自增,数据限制条件的简易数据表创建)>最初练习可用
create table 表名(
字段名1 字段类型,
字段名2 字段类型,
字段名3 字段类型
);
注意:
1.创建一个数据表时,它的每个字段之间用逗号","隔开;
2.最后一个字段不用逗号",";
3.创建完表以后,最后的括号后面使用分号结束
4.建表时,表名后面的括号中写表的字段名(字段类型)
2> 查看表结构
desc 表名;
3> 查看建表语句
show create table 表名;
4> 查看当前数据库存在的数据表
show tables;
5> 删除数据表
drop table 表名
8.对数据的操作
1> 添加数据
① insert into 表名 (字段1,字段2……) values (值1,值2……);
② insert into 表名 values (值1,值2……),(值1,值2……);
③ insert into 表名 (字段1,字段2……) values (值1,值2……),(值1,值2……);
④ insert into 表名 values (值1,值2...);
⑤ insert into 表名 set 字段1=值1,字段2=值2...;
注意:
1.值和字段名要一一对应,否则会报错
2.你写入的值一定要和数据类型相匹配
2> 删除数据
delete from 表名 where 条件;
注意:删除数据的时候,一定要加上where条件,否则会删除所有的数据
3> 修改数据
update 表名 set 要修改的字段=修改后的值 where 条件
注意:修改数据的时候,一定要加上where条件,否则会修改所有的数据
4> 查找数据
select *(所有字段) from 表;
select 字段1,字段2.. from 表;
下面是对数据库简单操作实例:
<?php
//对数据库的简单操作方法 //显示存在所有的数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| lamp183 |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec) //删除数据库lamp183
mysql> drop database lamp183;
Query OK, 1 row affected (0.01 sec) //删除数据库lamp183
mysql> drop database lamp183;
Query OK, 0 rows affected (0.00 sec) //创建数据库lmap175
mysql> create database lamp175;
Query OK, 1 row affected (0.00 sec) //查看当前的数据库[没有被使用的数据库即使被创建也不会被查询到]
mysql> select database();
+------------+
| database() |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec) //使用lamp175数据库
mysql> use lamp175;
Database changed //当前数据库显示出lamp175,说明此数据库为当前操作的库
mysql> select database();
+------------+
| database() |
+------------+
| lamp175 |
+------------+
1 row in set (0.00 sec) //查看lamp175的建库语句 /G可以纵向显示
mysql> show create database lamp175\G;
*************************** 1. row ***************************
Database: lamp175
Create Database: CREATE DATABASE `lamp175` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 sec) ERROR:
No query specified //查看lamp175建库语句
mysql> show create database lamp175;
+----------+--------------------------------------------------------------------+
| Database | Create Database |
+----------+--------------------------------------------------------------------+
| lamp175 | CREATE DATABASE `lamp175` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+--------------------------------------------------------------------+
1 row in set (0.00 sec) mysql> create database lamp183;
Query OK, 1 row affected (0.00 sec) mysql> use lamp183;
Database changed //在lamp183数据库中创建stu数据表
mysql> create table stu(
-> id int,
-> name varchar(32),
-> sex varchar(2),
-> age int,
-> job varchar(32)
-> );
Query OK, 0 rows affected (0.05 sec) mysql> desc stu; //查看stu数据表的表结构
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(32) | YES | | NULL | |
| sex | varchar(2) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| job | varchar(32) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec) //查看stu的建表语句[可以查看到该表的编码类型,存储类型]
mysql> show create table stu;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| stu | CREATE TABLE `stu` (
`id` int(11) DEFAULT NULL,
`name` varchar(32) DEFAULT NULL,
`sex` varchar(2) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`job` varchar(32) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec) //查看stu表的建表语句[竖起来查看]
mysql> show create table stu\G;
*************************** 1. row ***************************
Table: stu
Create Table: CREATE TABLE `stu` (
`id` int(11) DEFAULT NULL,
`name` varchar(32) DEFAULT NULL,
`sex` varchar(2) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`job` varchar(32) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1 row in set (0.00 sec) ERROR:
No query specified //查看当前数据库中所有的表
mysql> show tables;
+-------------------+
| Tables_in_lamp183 |
+-------------------+
| stu |
+-------------------+
1 row in set (0.00 sec) //删除stu数据表
mysql> drop table stu;
Query OK, 0 rows affected (0.00 sec) //创建stu数据表
mysql> create table stu(
-> id int,
-> name varchar(32),
-> sex varchar(2),
-> age int,
-> job varchar(32)
-> );
Query OK, 0 rows affected (0.01 sec) //查看stu数据表的表结构
mysql> desc stu;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(32) | YES | | NULL | |
| sex | varchar(2) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| job | varchar(32) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec) //查看stu数据表的所有数据
mysql> select * from stu;
Empty set (0.00 sec) //在stu数据表中插入数据
mysql> insert into stu set id=9,name='haiyang',sex='w',age=38,job='toupai';
Query OK, 1 row affected (0.00 sec) //查看stu数据表中所有数据
mysql> select * from stu;
+------+----------+------+------+---------+
| id | name | sex | age | job |
+------+----------+------+------+---------+
| 1 | zhangsan | w | 18 | laobao |
| 2 | lisi | m | NULL | NULL |
| 3 | wangwu | w | NULL | NULL |
| 4 | maliu | m | NULL | NULL |
| 5 | zhaoqi | w | NULL | NULL |
| 6 | wangba | m | 20 | baoan |
| 7 | haibo | w | 28 | guigong |
| 8 | hongze | m | 17 | student |
| 9 | haiyang | w | 38 | toupai |
+------+----------+------+------+---------+
9 rows in set (0.00 sec)
//退出MySQL数据库
mysql> \q
MySQL基本概念以及简单操作的更多相关文章
- MongoDB快速入门学习笔记2 MongoDB的概念及简单操作
1.以下列举普通的关系型数据库和MongoDB数据库简单概念上的区别: 关系型数据库 MongoDB数据库 说明 database database 数据库 table collection 数据库表 ...
- mysql、MariaDB的简单操作
mysql的简单操作 一.查看数据库 SHOW DATABASES; 例如: MariaDB [(none)]> show databases; +--------------------+ | ...
- epoll、mysql概念及简单操作
epoll 程序阻塞的过程 假设我们目前运行了三个进程A B C ,如果他们都在处于运行态,那就会被加到一个运行队列中 进程A正在运行socket程序 在linux中有句话,万物皆文件,socket对 ...
- python下的orm基本操作(1)--Mysql下的CRUD简单操作(含源码DEMO)
最近逐渐打算将工作的环境转移到ubuntu下,突然发现对于我来说,这ubuntu对于我这种上上网,收收邮件,写写博客,写写程序的时实在是太合适了,除了刚接触的时候会不怎么完全适应命令行及各种权限管理, ...
- mysql 首次安装后 简单操作与语句 新手入门
首先cd到安装目录中bin路径:这是我的安装路径以管理员身份打开cmd(防止权限不足)cd E:\>cd E:\mysql\mysql-5.5.40-winx64\bin 首次安装需要输入 my ...
- MySQL之命令行简单操作MySQL(二)
一:命令行连接数据库 打开终端,运行命令mysql -uroot -p (p后面加密码,可以直接加,也可以回车在下一行输入,为了不暴露密码,回车在下行输入 退出:exit或quit 查看版本信息: s ...
- mysql的安装和简单的操作
一.MySQL的安装和简单操作 1.了解MySQL MySQL有两个软件 ---服务器软件 - socket服务端 - 本地文件操作 - 解析指令(mysql语句)---客户端软件 ...
- python对mysql进行简单操作
python 连接MySQL数据库,进行简单操作 一.连接MySQL数据库,关闭连接 import pymysql db = pymysql.connect(host="xxx.xxx.x. ...
- 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用
进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...
随机推荐
- Linux kernel Programming - Advanced Char Driver Operations
ioctl //user space int ioctl(int fd,unsigned long cmd,...); //kernel space int (*ioctl)(struct inode ...
- spring HibernateTemplate.save() 方法的自动提交问题
如题: service1: dao1.save(obj); //失败,应该给spring捕获,但没有,程序继续执行下去了. redisService.fun1(); //被执行 service2 ...
- android 工具大集合
http://www.androiddevtools.cn/ http://www.sourcetreeapp.com/
- Python开发技巧
1 python关闭windows进程 python关闭windows进程的方法,涉及Python调用系统命令操作windows进程的技巧 import os command = 'taskkill ...
- spring boot 跨域请求
场景 网站localhost:56338要访问网站localhost:3001的服务 在网站localhost:3001中增加CORS相关Java Config @Configuration @Ord ...
- RDLC报表显示图片
有时设计RDLC报表时,我们会少不了在报表呈现图片. 今天花上些少时间来实现它们: 你可以在设计RDLC报表时,找到Report Data下的Image,按Mouse右键,出现Add Image... ...
- Bluedroid 函数分析:BTA_GATTC_Open
进行GATT 通信,首先要打开GATT 的通道.下面我们分析BTA_GATTC_Open 这个函数: 这个函数在bta_gattc_api.c 文件中定义,这个是一个接口文件,里面没有做真正的open ...
- Ionic 入门与实战之第一章:Ionic 介绍与相关学习资源
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第一章,主要对 Ionic 的概念.发展历程.适配的移动平台等知识进行了介绍,并分享了 Ionic 相关的学习资源. 原文发表于我的技 ...
- Nginx 403 Forbidden 解决方案 史上最靠谱
原因 1. SELinux为开启状态(enabled) 查看SELinux的状态 sestatus 如果不是 disables , 需要 vi /etc/selinux/config 将以前的 SEL ...
- inode 软/硬链接
一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统 ...