一、数据库的基本概念(拓展知识):
1、数据库的英文:DataBase,简称DB;
2、什么是数据库?
*用于存储和管理数据的仓库
3、数据库的特点:
- 持久化存储数据的,本质上数据库就是一个文件系统;
- 方便存储和管理数据;
- 使用了统一的方式操作数据库:SQL
二、常见的数据库软件(了解):
Oracle、MySQL、Microsoft SQL Server、DB2、MySQL。
Oracle:收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,又收购MySQL。
DB2:IBM公司的数据库产品,收费的,常用于银行系统中。
SQLServer:Microsoft公司收购的中型数据库。C#、.net等语言使用。
SyBase:已经淡出历史舞台,提供了非常专业的数据建模工具PowerDesigner。
SQLife:嵌入式的小型数据库,应用在手机端
#MySQL数据库软件
三、MySQL数据库的安装:
注:这里自定义安装目录需要新建文件夹,新的文件夹尽量全部用英文
检测MySQL是否成功安装:
四、MySQL数据库的卸载(如果在配置安装过程中出现了差错需要重新安装时,则需要将MySQL数据库卸载后【卸载干净】重新安装)
1、去MySQL的安装目录中找到my.ini文件:
复制:datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
2、卸载MySQL数据库(由于我的是成功安装上的,再次就不真的卸载了哈)
注:此时还没有卸载干净!
3、打开第一步中复制的文件夹路径,选择C:/ProgramData
至此,MySQL数据库就卸载干净了,重新安装即可。
五、MySQL的配置(服务的启动)
本质上是安装的MySQL的服务(服务器软件),会在Windows的服务列表里边注册一个MySQL的服务,所谓“服务”,就是没有界面的应用程序
命令行输入:services.msc可快速查看注册表中的服务
快速打开MySQL服务:cmd(以管理员方式打开) --> net start mysql
快速关闭MySQL服务:net stop mysql
MySQL的登录与退出:
*登录:
1、mysql -u[用户名] -p[密码]
2、mysql -h[ip地址] -u[用户名] -p[密码]
3、mysql --host=ip地址 --user=root --password=root
*退出:
1、exit
2、quit
*了解mysql的目录结构:
1、安装目录
核心配置文件:my.ini
2、数据目录
数据库 --> 文件夹
表 --> 文件
数据 --> 数据
六、SQL
1、什么是SQL?
Structed Query Language : 结构化查询语言
其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称之为“方言”
2、SQL的通用语法
(1)SQL语言可以单行或者多行书写,以分号结尾【在 mysql> 中写的语句才是SQL】
(2)使用空格和缩进来增强语句的可读性
(3)MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
(4)MySQL的3种注释:
单行注释: -- 注释内容 或者 # 注释内容(mysql独有) 或者 #注释内容
多行注释:/* 注释内容 */
3、SQL的分类(按照不同的功能):
1、DDL(Data Definition Language)数据定义语言:用来定义数据库对象(操作数据库、表):数据库、表、列等,关键字:create、drop、alter等;
2、DML(Data Manipulation Language)数据库操作语言(增删改表中的数据):关键字:insert、delete、update等;
3、DQL(Data Query Language)数据查询语言:用来查询数据库中表的记录(数据),关键字:select、where等
4、DCL(Data Control Language)数据库控制语言【了解】(授权):用来定义数据库的访问权限和安全级别,以及创建用户,关键字:GRANT,REVOKE等
七、DDL:操作数据库、表
1、操作数据库:CRUD
(1).C(Create):创建
创建数据库:
create database 数据库名称;
创建数据库,判断不存在,再创建:
create database if not exists 数据库名称;
创建数据库并指定字符集:
create database 数据库名称 character set 字符集名;
综合练习 -->创建db4数据库,判断是否存在,并指定字符集为gbk:
create database if not exists db4 character set gbk;
(2).R(Retrieve):查询
查询所有的数据库:show databases;
information_schema:描述数据库mysql里边的信息(视图)
mysql:核心数据据库
performance_schema:对性能做提升
test:空的数据库
查看某个数据库的字符集【查询某个数据库的创建语句】:
eg: show create database mysql;
(3).U(Update):修改
修改数据库的字符集:
alter database 数据库名称 character set 字符集名称;
(4).D(Delete):删除
删除数据库:
drop database 数据库名称;
判断数据库存在,存在则删除:
drop database if exists 数据库名称
(5).使用数据库
查询当前正在使用的数据库名称:
select database();
使用数据库:
use 数据库名称;
2、操作表
(1).C(Create):创建
1、语法:
create table 表名(
列名1 数据类型1,
列名2 数据类型2,
......
列名n 数据类型n
);
注意:最后一列,不需要加逗号(,)
数据库常见数据类型:
1、int : 整数类型
* age int,
2、double:小数类型
* score(5,2) -->表示分数共有5位,小数点后占两位
3、data:日期,只包含年月日,格式:yyyy-MM-dd
4、datatime:日期,包含年月日时分秒,格式:yyyy-MM-dd HH:mm:ss
5、timestamp:时间戳类型,包含年月日时分秒 ,格式:yyyy-MM-dd HH:mm:ss
* 说明:如果将来不给这个字段赋值,或者赋值为null,则默认使用当前的系统时间来自动赋值
6、varchar:字符串
* name varchar(20) : 姓名最大为20字符
zhangsan:占据8个字符; 张三:占据2个字符
*创建表:
create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
* 复制表:
create table 表名 like 被复制的表名
(2).R(Retrieve):查询
查询某个数据库种所有的表的名称:
show tables;
查询表结构:
desc 表名;
(3).U(Update):修改
1、修改表名
alter table 表名 rename to 新的表名;
2、修改表的字符集
show create table 表名; -- 展示表的字符集
alter table 表名 character set 字符集名称;
3、添加一列
alter table 表名 add 列名 数据类型;
4、修改列名称 类型
alter table 表名 change 列名 新列名 新数据类型; -- 改列名的同时更改列的数据类型
alter table 表名 modify 列名 新数据类型;-- 修改列的数据类型
5、删除列
alter table 表名 drop 列名;
(4).D(Delete):删除
drop table 表名
drop table if exists 表名
八、DML:增删改表中数据:
1.添加数据:
语法:
insert into 表名(列名1,列名2,...,列名n)values(值1,值2,...,值n);
注意事项:
(1)、列名和值要一一对应,并且值的类型也要相匹配
(2)、如果表名后不定义列名,则默认给所有列添加值
insert into 表名 values(值1,值2,...,值n);
(3)、除了数字类型,其他类型需要使用引号(单双都可)引起来
2.删除数据:
语法:
delete from 表名 (where 条件)
注意事项:
delete from 表名 --> 如果不加条件,则会删除表中的所有记录,一般不会这样做,即使有这样的需求,也尽量不使用这样的语句,因为这样会导致表中有多少条记录,就会删除多少次,因此会换成:
truncate table 表名; --> 删除表,然后再创建一个一模一样的空表
3.修改数据:
语法:
update 表名 set 列名1 = 值1, 列名2 = 值2,...,列名n = 值n [where 条件]
注意:
1、如果不加任何条件则会将表中所有记录全部修改
九、DQL:查询表中的数据:
* select * from 表名;
1.语法:
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组后的条件限定
order by
排序
limit
分页
2.基础查询
(1)多个字段的查询
select 字段名1,字段名2,... from 表名;
注意:
如果查询所有字段,则可以使用“*”来替代字段列表
(2)去除重复
distinct
(3)计算列
一般可以使用四则运算计算一些列的值。(多计算数值型的数据)
IFNULL(expert1,expert2): null参与的运算,计算的结果为null
expert1 : 那个字段需要判断是否为null
expert2:如果该字段为null后替换的值、
eg --> ifnull(english,0) : 表示如果英语的值为null的话则按照0计算
(4)起别名
as : as也可以省略
3.条件查询
(1)where子句后跟条件
(2)运算符:
>、<、<=、>=、=、<>【<>:不等于】
BETWEEN...AND
IN(集合)
LIKE :模糊查询
_:单个任意字符
%:多个任意字符
IS NULL
and 或 &&
or 或 ||
not 或者 !
标签:--,day01,卸载,表名,MySQL,table,数据库,列名 From: https://www.cnblogs.com/yumengqifei/p/16724693.html