首页 > 数据库 >day01 -> MySQL数据库(安装、卸载、配置)

day01 -> MySQL数据库(安装、卸载、配置)

时间:2022-09-25 09:44:54浏览次数:48  
标签:-- day01 卸载 表名 MySQL table 数据库 列名

一、数据库的基本概念(拓展知识):

1、数据库的英文:DataBase,简称DB;

2、什么是数据库?

*用于存储和管理数据的仓库

3、数据库的特点:

    1. 持久化存储数据的,本质上数据库就是一个文件系统;
    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

相关文章

  • This MySqlConnectioin is already in Use异常处理
    ThisMySqlConnectioinisalreadyinUse异常处理记录今天使用EFCore和Mysql的时候,遇到了一个问题,具体描述如下:Nuget安装了Pomelo.EntityFrameworkCore.MySql,然后在同......
  • mysql左连接 计算记录数量(mysql多表关联 计算数据条数)
    设计两个表一个是book字段为bookID,bookName,publishName,另一个表为questions主要字段questionid,title,bookid等等,现在的需求设计一条sql语句显示书名、试题名......
  • php mysql创建库 创建用户 并授权用户可使用的库 - mysql权限管理例子
    以下是php代码,可以复制起来测试测试 $dbname="ceshi1222_com";$username="user222";//创建库$sql="CREATEDATABASE{$dbname}DEFAULTCHARACTERSETutf8COLLAT......
  • mysql root用户远程登录并获取所有权限
    远程登录必须要满足三个条件1:服务器要对外开放3306端口2:要有远程操作的权限端口就不说了 主要记录一下权限的设置方法依次执行下面四条命令在本机先使用root用户......
  • MySQL相关知识
    一、SQL分类:DDL;数据定义语言;凡是带有create、drop、alter等数据定义语言(主要操作的是表的结构,不是表的数据。)DQL:数据查询语言;凡是带有select关键字的都是数据......
  • MySQL双主同步的实现
    双主复制:在两个节点上都可以写入数据,互为主从节点。解决单点失败的问题:一个主节点失败,所有节点都会失败。双主配置:(1)各节点使用一个惟一server_id(2)都......
  • MYSQL锁机制行锁、表锁、死锁的实现
    一、MYSQL锁是什么?有什么类别锁定义: 同一时间同一个资源只能被一个线程访问 乐观锁和悲观锁乐观锁用的最多的就是数据库中的表加了一个标识字段version 例如......
  • MySQL主从复制常见问题及解决方法
    在从节点清除信息前提:停止slave的相关线程:stopslaveRESETSLAVE#从服务器清除master.info,relay-log.info,relaylog,开始新的relaylogRESETSLAVE ALL#清除所......
  • 为什么MySQL 默认隔离级别是RR,又被阿里设置为RC
    我们知道,我们可以通过这个命令查看数据库当前的隔离级别,MySQL默认隔离级别是RR. select@@tx_isolation; ANSI/ISOSQL定义的标准隔离级别有四种,从高到底依次为:可序......
  • mysql将字符串类型字段后面的小数点和零去掉
    背景现有student表,表中的学生年龄student_age字段中的值,是通过读取excel中的信息后更新到数据库中,但是因为处理不当,导致年龄的均带有.0,如28.0实际上应该是28。我们需要将......