1、数据库基本理论知识

1.1、数据库(DataBase,DB):

       数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,

用户可以对数据库中的数据进行增加,修改,删除及查询操作。

1.2、数据库管理系统(DataBase Management System,DBMS):

       指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理

和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。

1.3、SQL语句概述

(1)DDL语句:

DDL(Data Definition Language)语句: 数据定义语言,主要是进行定义/改变表的结构、

数据类型、表之间的链接等操作。主要由create(添加)alter(修改)drop(删除)

truncate(删除) 四个关键字完成。

(2) DML 语句

DML(Data Manipulation Language)语句: 数据操作语言,主要是对数据进行增加、删除、修改

操作。常用的语句关键字有select(获取数据)、update( 更新数据)、delete(删除数据)和insert into (插入数据)等。

(3) DQL 语句

DQL(Data Query Language)语句:数据查询语言,主要是对数据进行查询操作。常用关键字有

select、from、where 等

(4) DCL 语句

DCL(Data Control Language)语句: 数据控制语言,主要是用来设置/更改数据库用户权限。常用关键字有 grant、revoke等。
 

1.4、常用的数据库管理软件

  • MySQL:
  • 开源,免费
  • 跨平台:可以运行windows、linux、mac
  • 稳定
  • 轻量级:mysql运行期间占用系统资源少
  • Oracle:
  • 收费
  • 有完善的技术支持服务
  • 跨平台:可以运行windows、linux、mac
  • 稳定
  • 重量级
  • SQL Server:
  • 收费
  • 有完善的技术支持服务
  • 不能跨平台,只能运行在windows
  • ......

mysql官网

2、mysql入门

mysql的用户

  • 默认的管理员用户:root

使用mysql的方法

  • 第一步:登录/链接mysql
  • 第二步:执行sql命令

登录mysql的方法

  • 第一种:用mysql自带的客户端工具
  • 优点:不需要安装额外的软件就可以使用,很方便
  • 缺点:只能通过命令来完成操作,操作过程有一定的门槛
  • 第二种:用第三方的客户端工具【Navicate】
  • 优点:可以用图形化的方式来操作,门槛更低
  • 缺点:软件收费

mysql创建用户

授权用户可以管理所有的库和表
GRANT ALL ON *.* TO "用户名"@"主机" IDENTIFIED BY "密码";

授权用仅仅可以管理指定的库中的全部的表
GRANT ALL ON 库名.* TO "用户名"@"主机" IDENTIFIED BY "密码";

授权用仅仅可以管理指定的库中的指定的表
GRANT ALL ON 库名.表名 TO "用户名"@"主机" IDENTIFIED BY "密码";

案例:创建用户,用户名叫tom,可以在192.168.0.121主机登录,可以管理所有的库的所有表,密码设置为123

GRANT ALL ON *.* TO "tom"@"192.168.0.121" IDENTIFIED BY "123";

案例:创建用户,用户名叫jerry,可以在192.168.0.112主机登录,可以管理所db03库的所有表,密码设置为123

GRANT ALL ON "db03".* TO "jerry"@"192.168.0.112" IDENTIFIED BY "123";

3、常见的MySQL数据类型

类型

命令

int

整型

unsigned

表示这个数字是无符号数字【只能是正数】

float

单精度浮点数,4字节

double

双精度浮点数,8字节

char(M)

M为0~255之间的整数,固定长度为M,不足后面补全空格

varchar(M)

M为0~65535之间的整数

enum

枚举类型【给用户一个选择范围,用户仅仅可以选择其中的一个】

blob

二进制大型对象,是一个可以储存大量数据的容器,它能容纳不同大小的数据。

year

年份 YYYY  1901~2155,1字节

data

YYYY-MM-DD 支持范围为1000-01-01 到9999-12-31 并允许字符串或者数字为此列赋值

4、数据库的基本操作

查看数据库

show databases;

使用数据库

use 数据库名;

创建数据库

create database 数据库名;

删除数据库

drop database 数据库名;

 创建数据库表:

创建一个表名为:user,该表中含有id、name、sex、birthday、job字段

create table user(
  id int,
  name varchar(40),
  sex char(4),
  birthday date,
  job varchar(100)
);

删除表

drop table 表名;

 删除所有行

可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:

delete from 表名称;

delete from 表名称 where 条件;

在删除所有的表数据后,id(主键,自增)还是从原来的id值处继续增加;

清除表数据

仅仅删除表中的数据

TRUNCATE TABLE 表名称;

作用:截断
例如,你的id(主键,自增)将会重新从1开始

查看表结构

desc 表名

修改表名

方法一
rename table 旧表名 to 新表名;
方法二
alter table rename 旧表名 as 新表名;
方法三
alter table 旧表名  rename to 新表名;

修改列名

alter table 表名  change  列名  新列名 类型;
alter table user  change  name name1 varchar(40);

修改列类型

alter table 表名  modify  列名  新类型;
alter table user modify name char(10)

查询表中全部信息

select * from 表名;

查询表中指定列的信息

select 列1,列2 from 表名;

语句的执行顺序:from—>select

数据去重

select distinct 列…. From 表名;

拼接结果

select concat(列1,列2) from 表名;

更新数据

# 格式:
update  表名 set 字段 = 值 where 条件
例子:
update students set age=120 where age>50;