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