我们这里主要学习MySQL数据库
什么是数据库
数据库就是一个软件(一类软件),这一类软件的功能就是"管理数据",实现数据库软件的内部,就广泛用到使用了各种数据结构(为了进行增删改查)…
数据库管理的数据保存在哪里?
一般情况下,他是保存在硬盘上的,这是"持久化存储"的方式,当然,也有少数的数据库是存在内存当中(Redis,Tair…),像这种存在内存当中的,一关闭退出,数据就消失了
MySQL 就是一个具体的数据库软件
MySQL
MySQL这个数据库,是一个"客户端"“服务器"结构的程序…
客户端 主动发起请求的一方(客户端给服务器发送的数据,称为"请求”)
服务器 被动接收请求的一方(服务端给客户端返回的数据,称为"响应")
对于MySQL,你只要安装了他,就相当于安装了客户端,也安装了服务器,客户端和服务器之间是通过"网络"来通信的
简单的就介绍到这里,就不具体介绍怎么安装了,我用的是5.5版本的,下面来谈谈一些具体的操作
显示出当前 服务器上都有哪些数据库(哪些数据集合)
showdatabases;
注意: show 和 databases之间是有空格的,可以是一个,可以多个,不能没有!!,SQL中的单词之间基本上都是使用空格来分割,还有就是他不区分大小写,要以分号结尾
展示效果:
+--------------------+|Database|+--------------------+| information_schema || bit32mall ||database|| ebook || gmshop || huang || java102 || mysql || performance_schema |+--------------------+9rowsinset(0.02 sec)
这些就是我目前创建的数据库,你的跟我的应该不一样(对于系统自带的数据库,不要轻举妄动,容易把数据库给搞坏!!)
创建数据库
create database 数据库名
数据库的名字可以随便起,但不能是SQL关键字(实在想用,可以使用``引起来,这是反引号,是键盘左上角esc下面,1的左边,tab的上面,且一定是英文输入法)
createdatabase java;
Query OK,1row affected (0.04 sec)
这就是创建成功
在创一个java就不行了;
createdatabase java;
ERROR 1007(HY000): Can't create database 'java';databaseexists
这就是因为你已经创建了,他已经存在了,不能在一个服务器上,创建多个同名的数据库
选中数据库/使用数据库
要想对数据库进行进一步操作,之前,要先选中数据库,在进行操作
use 数据库名
use java;Database changed
这就是成功了;
删除数据库
drop database 数据库名
这个操作是非常危险的,一旦执行成功,此时数据库大概率是恢复不回来了.慎用!!!
dropdatabase java;
Query OK,0rows affected (0.04 sec)
删除成功,
是否有办法,避免生产环境的数据被删除呢?
1:权限控制: 不是随便谁都能删除,只有个别"管理员"才能执行删除操作.
2:备份: 一旦删除,还有备份的数据库可以使用
关于数据表的操作
创建表
create table 表名(列名 类型,列名 类型…);
进行表操作之前,要先选用数据库(use)
createtable student(id int,name varchar(20),age int,score double(3,1));
Query OK,0rows affected (0.02 sec)
在指定列的时候,列名在前,类型在后
查看表
show tables;
+----------------+| Tables_in_java |+----------------+| student |+----------------+1rowinset(0.01 sec)
这个也要先选中数据库
查看表结构
desc 表名
查看表里面有几列,每一列都是啥类型,每一列都是啥名字,每一列其他补充信息…
desc student;+-------+-------------+------+-----+---------+-------+| Field |Type|Null|Key|Default| Extra |+-------+-------------+------+-----+---------+-------+| id |int(11)| YES ||NULL||| name |varchar(20)| YES ||NULL||| age |int(11)| YES ||NULL||| score |double(3,1)| YES ||NULL||+-------+-------------+------+-----+---------+-------+4rowsinset(0.02 sec)
删除表
drop table 表名
删除表操作也是一个非常危险的操作,慎用!!!
droptable student;
Query OK,0rows affected (0.01 sec)
版权归原作者 粉色的志明 所有, 如有侵权,请联系我们删除。