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;
















