数据库的简单操作和概念

存储数据的仓库,你一台电脑装有数据库软件,你可以对外提供数据的增删改查服务,你这台电脑,就是一台,数据库服务器
常见数据库:
SQLServer 微软的 中小型关系型数据库
MySQL 中小型的关系型数据库
Oracle 大型的关系型数据库
关系型数据库 :具有行和列的这种二维表结构的数据库

非关系型数据: NOSQL 用键值关系来存储数据 类似 json

数据库的安装

数据库的卸载
1.可以使用第三方的卸载软件来卸载

2.在控制面板里面常规卸载
1.停止后台服务 电脑–右键–管理—服务—mysql–右键停止掉
2.卸载
3.清除残留文件 C:\ProgramData\MySQL 把这个MySQL文件夹删除

操作数据库 增删改查

SQL:结构化查询语言,用来对关系型数据库进行操作,他是一套规范,关系型数据库,都会遵循此规范,但是
允许各家的数据库,有差异,这些差异,我们称之为 方言

SQL:语法
对SQL语句我们习惯分为以下四类

  • sql分类:
    DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
    DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(增、删、改)
    DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
    DQL(Data Query Language):数据查询语言,用来查询记录(数据)。

DDL:
创建数据库:create database 数据库名 例如: create database mydb;
查询所有库:show databases;
删除:drop database mydb;
修改数据库编码:alter database mydb character set=‘gbk’;
查看建库语句:show create database mydb;

我们要建表 删除表 对表头进行操作(增删改表头)

– 切换库 use mydb;
– 查看改库下所有的表 show tables;
– 查看表结构 desc 表名; 例如: desc student;

表头: id name age sal
创建表时,列名 是要有数据类型的
数据库中常见的列的数据类型

  • 列的数据类型:
    * int:整型 id int,
    * double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
    money double(5,2)
    char:固定长度字符串类型;
    name char(10) “张三”
    * varchar:可变长度字符串类型;
    name varchar(10) “张三”

      			 	text:字符串类型;存大格式的文本 比如存个小说 一般不用
      			 	blob:字节类型;存字节类型的数据  比如电影字节  图片字节 但是一般不会把字节数据存到数据库当中
      			 	date:日期类型,格式为:yyyy-MM-dd;
      			 	time:时间类型,格式为:hh:mm:ss
      				datetime:日期时间类型   yyyy-MM-dd hh:mm:ss
      			 	* timestamp:时间戳类型	 yyyy-MM-dd hh:mm:ss
      					* 如果该类型的字段不给赋值,则默认当前时间
    

– 创建表:create table 表名(列名1 数据类型,列名2 数据类型2(长度), …);

create table student(
id int,
name varchar(16),
age int,
sal double(5,2),
birthday timestamp
);
– 列名的命名的规范:遵循java中的命名规范,记住不要拿MySQL中的关键字来命名

– 修改表名:alter table 旧表名 rename to 新表名
alter table student rename to stu;

– 删除表 drop table 表名
drop table student;

– 表中 表头的操作 alter
– 添加一个列
alter table student add(phone varchar(11));
– 删除一个列
alter table student drop phone;

– 修改列名
alter table student change name username varchar(20);

–修改列的数据类型
alter table student modify username char(20);

alter table student change username username varchar(20);

– 查看建表语句
– show create table student;

DML:给表中 插入数据,删除数据,修改数据

– 插入数据 insert into 表名(字段名,字段名2,…) valuses(值1,值2,…);

insert into student(id,name,age,sal) values(1,‘zhangsan’,23,555.55);
– 字符串类型的类 值的话,用单引号引起来
insert into student(name) values(‘wangwu’);
– yyyy-MM-dd hh:mm:ss
– 日期类型的列 值的话 用单引号引起来
insert into student(name,birthday) values(‘wangwu2’,‘2010-10-10 16:20:20’);
insert into student(name,birthday) values(‘wangwu3’,null);

– 如果说,我要给表中所有的字段都插入值 可以简写
insert into student(id,name,age,sal,birthday) values(1,‘zhangsan2’,23,555.55,null);
– 我要给表中所有的字段都插入值 可以简写
insert into student values(10,‘zhangsan222’,23,555.55,null);

– 删除表中所有的数据
– 这种方式:逐行删除
delete from student; – 无条件的删除,删除表中所有数据
– 删除表中所有的数据 那么还有一种方式
truncate table 表名;-- 删除所有记录

  • 先删除表,再创建表。

– 条件删除 where = > < >= <= and 并且 or 或者
delete from student where name=‘zhangsan’;

delete from student where name=‘zhangsan’ and birthday=‘2019-08-21 15:44:12’

delete from student where name='zhangsan' or name='wangwu2' or name='wangwu3';

insert into student(id,name,age,sal) values(1,‘zhangsan’,23,555.55);

– 修改表中的数据 update student set 字段名=‘修改的值’ , set 字段名 … where 条件

update student set name=‘lisi’,age=30; – 不带有条件的修改

– 带有条件的修改
update student set name=‘wangwu’,age=25,sal=666.66 where name=‘zhangsan2’ and birthday=‘2019-08-21 15:52:59’;

DQL: select 查询表中的数据

 * -- 统配符 统配表中所有字段
select * from student;  -- 查询表中所有的数据

-- 查询个别字段
select id,name,sal from stdent;

--  以上 就是不带有条件的查询

-- 条件查询 -- where   
* 条件查询:where 子句
		=、!=、<>(不等于)、<、<=、>、>=;
		BETWEEN…AND;  在什么范围之间
		IN(set);
		IS NULL;为空
		IS NOT NULL 不为空
		AND; 并且
		OR;   或者
		NOT;非

你可能感兴趣的:(计算机基础)