iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Mysql入门
  • 945
分享到

Mysql入门

Mysql入门 2014-06-01 14:06:15 945人浏览 绘本
摘要

一、数据库概述 1、为什么要用数据库? 程序中的数据是在内存中,一旦程序关了,数据就没了,没法永久保存。 所以我们需要把数据“持久化”。 我们虽然学过io流和File类,可以实现数据的持久化,但是用普通的文件保存的话 数据的格式 检索、管

Mysql入门

一、数据库概述

1、为什么要用数据库

程序中的数据是在内存中,一旦程序关了,数据就没了,没法永久保存。 所以我们需要把数据“持久化”。

我们虽然学过io流和File类,可以实现数据的持久化,但是用普通的文件保存的话

  1. 数据的格式
  2. 检索、管理(增加、修改、删除)等操作及其不方便

因此我们要用特殊的文件来存储我们的数据,这个特殊的文件就是数据库。

数据库就是有组织/有结构的方式来存储我们的数据。

结论:

  1. 数据“持久化”。
  2. 有组织/有结构的方式来存储我们的数据,更方便增、删、改、查...

2、什么是数据库

  • DB:Database,数据库->数据仓库,存储数据用的,并有结构的存储。
  • DBMS:Database Management System 数据库管理系统,
  • sql:Structured Query Language 结构化查询语言

3、安装DBMS

4、mysql属于关系型数据库

二维(行、列)表格的形式

mysql的DBMS系统中会有很多库DB,

但是一个DB数据库中又会有很多张表格table,

每一个表格中会有很多的列column和行record。

二、卸载

1、最好,建议,先检查mysql的服务是否正在运行..

  • (1)方式一: 启动任务管理-->服务-->mysql服务

DBMS是一个网络应用程序,它属于tcp/IP协议的网络应用程序,并且它是一个服务器端。

  • (2)方式二 我的电脑(计算机)-->右键-->管理-->服务

2、卸载

  • 方式一:控制面板
  • 方式二:电脑管家或360安全卫士
  • 方式三:用安装程序自带的卸载程序

3、清理遗留文件

  1. 找到之前的安装目录,清理
  2. 如果你是默认安装的,要注意,mysql的默认的数据目录,是在一个隐藏文件夹中:
C:ProgramDataMySQL

4、清理注册表

如何打开注册表编辑器:在系统的搜索框中输入regedit 如果前两步做了,再次安装还是失败,那么可以清理注册表

  • 1:HKEY_LOCAL_MacHINESYSTEMControlSet001ServicesEventlogApplicationMySQL服务 目录删除
  • 2:HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesMySQL服务 目录删除
  • 3:HKEY_LOCAL_MACHINESYSTEMControlSet002ServicesEventlogApplicationMySQL服务 目录删除
  • 4:HKEY_LOCAL_MACHINESYSTEMControlSet002ServicesMySQL服务 目录删除
  • 5:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationMySQL服务目录删除
  • 6:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMySQL服务删除
  • 注册表中的ControlSet001,ControlSet002,不一定是001和002,可能是ControlSet005、006之类

三、安装

四、使用

注意:我们刚才安装的mysql是服务器端的程序。 我们使用时要分为两步:

1、启动服务器

检查服务是否已启动 任务管理器-->服务-->mysql5.5

2、用客户端去连接服务器端

客户端的种类有很多,常见的:

  1. 命令行客户端
  2. Java程序
  3. 可视化工具,SQLyog,Navicat,Mysql admin....

3、使用命令行客户端

  1. 确定环境变量正确
  • 可以使用mysql命令
  1. mysql命令的格式:
mysql -h localhost -P 3306 -u root -p
Enter passWord:密码

说明:

  1. -h,-P,-u后面可以有空格也可以没有空格,但是最后-p后面不要加空格
  2. 如果你是默认连接本机localhost,那么可以省略-h localhost
  3. 如果你是默认用3306端口号,那么可以省略-P 3306

五、演示几个SQL语句

1. 查看当前的DBMS系统中都有哪些数据库?

show databases;

2. 查看某个数据库中都有什么表格?

show tables;

mysql> show tables;
ERROR 1046 (3D000): No database selected

方式有两种: 方式一:

show tables from 数据库名;
mysql> show tables from test;
Empty set (0.00 sec)

方式二:

use 数据库名;
show tables;

3. 查看某张表的数据

方式一:

select * from mysql.user;

方式二:

use 数据库名;
select * from user;

4. 创建一个表格

create table test.stu(
	id int,
	name varchar(20),
	age int
);

5. 添加记录

insert into test.stu values(1,"张三",23);

mysql> insert into test.stu values(1,"张三",23);
ERROR 1366 (HY000): Incorrect string value: "xD5xC5xC8xFD" for column "name" at row 1

因为客户端是GBK,而服务器端认为我当前的客户端是UTF-8。 可以通过如下的语句,告知服务器当前的客户端是GBK。

set names gbk;

六、MySQL数据类型

1、整型

  • Java:byte,short,int,long
  • mysql:
    • tinyint byte 1个字节 -128~127, unsigned 0~255
    • smallint short 2个字节
    • mediumint 3个字节
    • int 4个字节
    • bigint long 8个字节

例如:

  • id int(8) 等价于 int(11)
  • int(M):这个M是指宽度,如果单独使用(M)是没有意义,必须结合zerofill unsigned
  • id int(8) zerofill unsigned: 1 ->00000001

2、浮点型

  • Java:float,double

  • mysql:float,double

  • mysql中的float和double可以指定宽度和精度

  • double(M,D),例如:double(5,2) 存储范围是-999.99~999.99

    • M是一共有几位,D表示小数点后有几位
  • double(M,D) unsigned ,例如:double(5,2) unsigned 存储范围:0~999.99

3、定点型

  • Java:BigDecimal,BigInteger
  • mysql:DECIMAL和NUMERIC 都是可以表示小数

4、日期时间类型

  • Java:java.sql.Date,java.sql.Time,java.sql.Timestamp

  • mysql:date,time,timestamp,datetime,year

    • date:日期
    • time:时间
    • timestamp,datetime:日期加时间
    • year:只有年份
  • timestamp,datetime:

    • timestamp底层是使用毫秒表示,可以区分时区的(同一个毫秒值,在不同的时区,显示的结果是适用当前时区)
      • 范围:1970 ... ~ 2038....
    • datetime是日期和时分秒表示,不区分时区,什么值就是什么值
      • 范围:1000....~ 9999....

5、字符串类型

  • Java中分为字符类型char和字符串类型String

  • Mysql没有字符类型,都是字符串类型

    • char:也是字符串类型
    • varchar:也是字符串类型,如果是varchar,使用时,必须指定varchar(M)
    • text:也是字符串类型
  • char或char(1)表示存1个字符,如果char(M)存储M个字符

  • char和varchar的区别:

    • char一个是定长字符串,例如:char(8),"尚" 用"u0000"补全8位,char的读写速度快
    • varchar一个是变长字符串 ,例如:varchar(8),"尚" 实际占尚这个字和这个字的字节数,varchar读写速度慢,节省空间
      • 例如是UTF-8 占3个字节 + 1个字节(存3这个数字)

6、其他类型

  • xxxbit
  • xxxblob:二进制类型 可以存储二维码,小头像
  • 枚举类型:预定义几个值,从中选一个
  • 集合类型:预定义几个值,从中选多个

7、特殊值:null

  • 在Java中,只有引用数据类型才能赋值为null
    • 要判断null值, if(变量 == null) 或 if(变量 !=null)
    • null值不能用来计算,用来计算是要报错
  • 在MySQL中,所有类型都可以赋值为null
    • 要判断null值, is null 或 is not null
    • null值用来计算不会报错,但是结果都是null
    • SUM 函数会过滤null值

七、SQL规范和规则

Structure Query Language,结构化查询语言

1、规范

  1. mysql对于SQL语句不区分大小写,SQL语句关键字尽量大写
show databases;
show DataBASES;
SHOW DATABASES;
  1. 值,除了数值型,字符串型和日期时间类型使用单引号("")
  2. 列/字段别名,尽量使用双引号(""),而且不建议省略as
  3. 所有标点符号使用英文状态下的半角输入方式
  4. 必须保证所有(),单引号,双引号是成对结束的
  5. 可以使用(1)#单行注释 (2)--空格单行注释 (3)

2、规则

  1. 必须只能包含 A–Z, a–z, 0–9, _共63个字符
  2. 长度不宜过长
  3. 不能包含空格
  4. 不要重名

例如:

  • 同一张表,字段不能同名,不同的表,字段可以重名
  • 同一个库,表不能重名,不同的库,表可以重名
  • 同一个DBMS中,库不能同名,不同的DBMS系统中,库可以重名
  1. 必须保证你的字段没有和保留字、数据库系统或常用方法冲突
  2. 如果某个字段在不同的表中,表示的意思是一样的,那么数据类型必须相同 例如:
  • 员工表:
id int
name varchar(20)
did int  #所在的部门编号
  • 部门表:
id int   #部门编号
dname varchar(50)

八、SQL-DML

  • DDL:数据定义语言,定义库、表结构用的
  • DML:数据操作语言,增、删、改、查
  • DCL:数据控制语言,权限、事务等控制语句

(一)DDL

1、操作数据库的语句

(1)查看当前DBMS中的所有数据库

show databases;

(2)创建一个数据库

create database 数据库名;

(3)删除一个数据库

drop database 数据库名;

(4)使用,指定使用哪个数据库

use 数据库名;

有了这句后,下面的sql都是默认针对这个数据库的操作。

2、操作表格的语句

(1)查看某个库的所有表格

show tables;  #必须前面有use 数据库名;的语句  否则报no database select的错误
show tables from 数据库名;

(2)创建表格:基本版:

create table 【数据库名.】表名称(
	字段名1  数据类型,
	字段名2  数据类型,
	字段名2  数据类型,
	....
);
  • create table 【数据库名.】表名称(字段名1 数据类型,字段名2 数据类型,字段名2 数据类型,....);
    • 注意:最后一个字段名的数据类型后面就不用加,

例如:

create table employee(
	id int,
	name varchar(20),
	age int,
	salary double,
	gender char,
	birthday date
);

(3)查看表结构

desc 表名称;

(4)修改表结构:增加一列

  • alter table 表名称 add 字段名 数据类型 【after 字段名/ first】;

例如:

alter table employee add tel char(11);
alter table employee add tel char(11)  after name;

(5)修改表结构:删除一列

  • alter table 表名称 drop 字段名;

例如:

alter table employee drop tel;

(6)修改表结构:修改列的类型,位置等

  • alter table 表名称 modify 字段名 数据类型 【after 字段名/ first】;

例如:

alter table employee modify gender char(2) after age;

(7)修改表结构:修改列的名称

  • alter table 表名称 change 旧字段名 新的字段名 数据类型 【after 字段名/ first】;

例如:

alter table employee change gender sex char(2) after age;

(8)修改表名称

  • alter table 表名称 rename to 新名称;

例如:

alter table employee rename to emp;

(9)删除整张表,包括数据和表结构

drop table 表名称;

九、SQL-DML

1、添加数据

(1)为表的所有列赋值

  • insert into 表名称 values(值列表);

例如:

employee:
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | YES  |     | NULL    |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| age      | int(11)     | YES  |     | NULL    |       |
| salary   | double      | YES  |     | NULL    |       |
| gender   | char(1)     | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
insert into employee values(1,"张三",23,10000,"男","1990-01-01");

(2)为表的部分列赋值

  • insert into 表名称(字段列表) values(值列表);
insert into employee(id,name) values(2,"李四");

(3)可以一次性增加多行

  • insert into 表名称 values(值列表1),(值列表2),....;
  • insert into 表名称(字段列表) values(值列表1),(值列表2),....;

例如:

insert into employee(id,name) values(3,"王五"),(4,"赵六"),(5,"钱七");

2、修改数据

  • update 表名称 set 字段名1 = 字段值1, 字段名2 = 字段值2 【where 条件】;

例如:

update employee set gender = "男";
update employee set age = 24 where name = "李四";
update employee set salary = salary * 2; #给所有人涨薪

3、删除数据

  • delete from 表名称 【where 条件】;

例如:

delete from employee;
delete from employee where name = "赵六";

4、查看数据

(1)查看所有的数据

  • select * from 表名称;

例如:

select * from employee;

(2)查看部分列

  • select 字段列表 from 表名称;

例如:

select id,name from employee;

(3)查看部分行

  • select * from 表名称 【where 条件】;
  • select 字段列表 from 表名称 【where 条件】;

例如:

select * from employee where name ="张三";
#查看张三的薪资
select salary from employee where name ="张三";

5、可以在查询结果时,给字段取别名。

  • select 字段名1 as "别名1",字段名2 as "别名2" ... from 表名称 【where 条件】;

例如:

select id as "编号", name as "姓名", salary as "薪资" from employee;
select id  "编 号", name 姓名, salary  薪资 from employee;
您可能感兴趣的文档:

--结束END--

本文标题: Mysql入门

本文链接: https://www.lsjlt.com/news/5138.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL入门——排序
    MySQL 排序 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。 如果我们需要对读取的数据进行排序,我们就可以使用 ...
    99+
    2024-04-02
  • 【MySQL新手入门系列一】:手把手教你入门MySQL
    如果您是一位刚刚开始学习MySQL的新手,本文将为您提供一些实用的入门知识和技巧,帮助您快速上手。 本篇文章将以windows为例,介绍MySQL的基础知识,以及如何安装、卸载、配置和使用它。 ...
    99+
    2023-09-03
    mysql 数据库 java
  • mysql轻快入门(3)
    有一种情况,你忘记数据库密码啦,你怎么办,砸电脑吗?no.....请见下:select host,user,password from mysql.user;update mysql.user set password=...
    99+
    2023-01-31
    轻快 入门 mysql
  • Mysql/MariaDB数据库入门
    内容:1、数据库简介以及mysql/mariadb背景介绍2、数据库的一些名词3、mysql的服务结构4、mysql客户端的使用5、数据类型6、SQL语句介绍7、mysql的事务机制一、数据库简介以及mys...
    99+
    2024-04-02
  • MySQL入门(详细总结)
    目录 1、什么是数据库? 2、数据库的特点 3、数据库的分类 4、MySQL的登录和退出 4.1、MySQL的登录 5、SQL语句 5.1、什么是SQL? 5.2、通用语法 5.3、SQL语句的分类 6、操作数据库——DDL语言 7、操作表...
    99+
    2023-10-10
    数据库
  • 新手入门Mysql--概念
    1. 是什么? MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management S...
    99+
    2024-04-02
  • MySql入门--基础知识
    一、Mysql 物理文件组成 (一)日志文件 1、错误日志:Error Log 错误日志记录了MyQL Server 运行过程中所有较为严重的警告和错误信息,以及MySQLSer...
    99+
    2024-04-02
  • MySQL入门安装方式
    本篇内容介绍了“MySQL入门安装方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装mysql&nbs...
    99+
    2024-04-02
  • MySQL入门--导出和导入数据
    MySQL导出和导入数据 数据库导出可用于将数据库复制到另一个服务器。可以将数据库传输到在另一台主机上运行的服务器,这是最典型的数据导出任务。也可以将数据传输到运行在同一主机上的不同服务器。...
    99+
    2024-04-02
  • SpringBoot入门系列之JPA mysql
    一,准备工作,建立spring-boot-sample-mysql工程http://start.spring.io/     A、Artifact中输入spring-boot-sample-MySQL...
    99+
    2023-05-31
    spring boot jpa
  • c++连接mysql入门案例
    目录前言环境与前期准备过程与步骤结果前言 本文介绍c++使用mysql数据库连接的前期准备,以及如何在代码中实现简单的数据库操作。 环境与前期准备 操作系统:windows10 ID...
    99+
    2022-11-16
    c++连接mysql c++连接mysql入门 c++ mysql
  • 《入门MySQL—备份与恢复》
    本篇文章将主要讲解 MySQL 数据库数据备份与恢复相关知识,主要聚焦于逻辑备份,介绍mysqldump工具的使用以及恢复方法。 这里简单讲下物理备份和逻辑备份的概念: 物理备份:备份数据文件,转储数据...
    99+
    2024-04-02
  • 【MySQL系列】PolarDB入门使用
    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,...
    99+
    2023-12-22
    mysql 数据库
  • MySQL入门(五) MySQL中的索引详讲
          序言          之前写到MySQL对表的增删改查(查询最为重要)后,就感觉MySQL就差不多学完了,没有想继续学下去的心态了,原因可能是由于别人的影响,觉得对于MySQL来说,知道了一些...
    99+
    2024-04-02
  • PHP入门指南:MySQL数据库
    PHP是一种流行的服务器端脚本语言,广泛用于动态网站开发。MySQL是一种广泛使用的开源关系型数据库系统,通常用于存储和管理网站的数据。本文将介绍如何使用PHP连接和操作MySQL数据库。连接到MySQL数据库要连接到MySQL数据库,首先...
    99+
    2023-05-20
    PHP mysql数据库 入门指南
  • MySQL 入门:Case 语句很好用
    引言 MySQL CASE 是一个 MySQL 语句查询关键字,它定义了处理循环概念以执行条件集并使用 IF ELSE 返回匹配案例的方式。 MySQL 中的 CASE 是一种控制语句,它验证条件案例集,并在第一个案例满足 else 值时显...
    99+
    2023-09-01
    mysql 数据库 sql
  • MySQL入门安装(一步一图)
    ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 目录 1. MyS...
    99+
    2023-08-31
    数据库 mysql oracle sql
  • MySQL之索引(入门级讲解)
    目录 一.索引的概念   1.1索引的简介  1.2.索引的优缺点 二.MySQL索引语法 2.1查看索引 2.2创建索引 2.2.1 创建表时创建索引  2.2.2存在的表上创建索引 2.3删除索引 三.索引的数据结构       3.1...
    99+
    2023-08-31
    mysql 数据库
  • MySQL从入门到快速上手
    文章目录 第一章 了解SQL第二章 检索数据第三章 排序第四章 过滤数据第五章 高级数据过滤第六章 多表查询内连接(交集)外连接多表连接UNIONUNION ALL 第七章...
    99+
    2023-09-01
    mysql 数据库 java
  • 【MySQL入门实战5】-Linux PRM 包安装MySQL
    📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA工作经验 一位上进心十足的【大数据领域博主】!&#x...
    99+
    2023-08-21
    mysql linux 数据库 原力计划
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作