文章目录
MySQL 学习第一天
今日内容
一、初识MySQL
1.MySQL的基本概念
- 存储数据的仓库
- 本质上是一个文件系统,还是以文件的方式存在服务器的电脑上的。
- 所有的关系型数据库都可以使用通用的 SQL 语句进行管理 DBMS DataBase Management System
- 企业使用的一般为oracle数据库,和MySQL数据库,其中由于oracle数据库费用昂贵,中小型企业一般不予使用,一般来说使用功能强大且免费的MySQL数据库。另外还有SQLite数据库,这个数据库则主要用于嵌入式开发,比如安卓手机系统的开发。
2.MySQL的安装
- 要进行MySQL的安装,首先保证电脑上不存在该软件,那么第一步就是要判断本地是否已经安装了MySQL软件。打开cmd命令行输入services.msc,打开服务管理,查看其中是否有MySQL软件,如果有的话就进行卸载,否则直接安装即可。
- 本机查看后没有安装MySQL,因此这里先进行安装步骤的记录
这里需要注意!千万不能选择最后一个选项,等之后工作中购买专门的服务器之后,可以才可以将所有可用资源都提供给数据库使用!
这里选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对 MyISAM 数据类型的支持仅限于 non-transactional),按“Next”继续。
这里可以设置服务器可接受的并发连接数,我选择20个
选择之后可以在别的机器上访问我们的服务器,否则只能自己电脑使用了。下面是是否使用严格标准,启动之后,不会容忍任何细小的错误。新手可以关闭,熟悉之后应该开启,可以保证没有错误数据进入数据库
对数据库默默人语言进行设置,一般来说设置成为utf8模式。
选择是否将 mysql 安装为 windows 服务,还可以指定 Service Name(服务标识名称),是否将 mysql 的 bin目录加入到 Windows PATH(加入后,就可以直接使用 bin 下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出 mysql.exe 的完整地址,很方便),我这里全部打上了勾,Service Name 不变。按“Next”继续。
询问是否要修改默认 root 用户(超级管理)的密码。“Enable root access from remote machines(是否允许 root 用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“CreateAn Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,
等待安装即可!
如果很不幸出现这个警告,那么就需要查看是不是已经安装过MySQL数据库了,只要将原本的删除掉再重新安装就好了,如果还是不行,检查是否按上面一步所说,
之前的密码是否有修改,照上面的操作;如果依然不行,将 mysql 安装目录下的 data 文件夹备份,然后删除,在安装完成后,将安装生成的 data 文件夹删除,备份的 data 文件夹移回来,再重启 mysql 服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。
3.数据库的卸载
(1)首先去停止 window 的 MySQL 服务。 找到“控制面板”-> “管理工具”-> “服务”,停止 MySQL 后台服务。
(2)然后在控制面板中找到mysql,将其删除
(3)接下来去删除 MySQL 安装目录下的所有文件。
(4)最后删除 c 盘 ProgramDate 目录中关于 MySQL 的目录。路径为:C:\ProgramData\MySQL(是隐藏文件,需要显示出来)
4.数据库服务的启动与关闭
首先以管理员身份打开cmd
关闭服务只需要在控制台中输入如下命令:net stop mysql
开启服务则输入:net start mysql
5.登录数据库
总共三种方式
(1)登录数据库的命令为:mysql -u用户名 -p密码
不想让密码在输入时被别人看见,就先输入-p,然后回车
(2).mysql -hip 地址 -u 用户名 -p 密码
(3)mysql --host=ip 地址 --user=用户名 --password=密码
退出mysql的命令:`quit 或 exit
6.数据管理系统、数据库和表的关系
这里用一张图来说明
我们的计算机实际上就是充当MySQL服务器,该服务器中有数据库服务器软件,软件中保存有数据库,每个数据库中又保存有数据表,表中又存有一条一条数据,也可以称为记录。,客户软通过网络可以去访问我们的数据库服务器软件,从而去访问其中的数据库和其中的数据。
二、正式学习数据库理论知识
SQL的概念
1.什么是SQL?
Structured Query Language 结构化查询语言
2.它有什么用?
- 是一种所有关系型数据库的查询规范,不同的数据库都支持。
- 通用的数据库操作语言,可以用在不同的数据库中。
- 不同的数据库 SQL 语句有一些区别
这样的话在一种数据库系统中编写之后,不同的数据库系统中都可以使用。其中每个数据库系统中又有自己独特的部分
3.SQL 语句分类
- Data Definition Language (DDL 数据定义语言) 如:建库,建表
- Data Manipulation Language(DML 数据操纵语言),如:对表中的记录操作增删改
- Data Query Language(DQL 数据查询语言),如:对表中的查询操作
- Data Control Language(DCL 数据控制语言),如:对用户权限的设置
4.SQL的语法
- 每条语句以分号结尾,如果在 SQLyog 中不是必须加的。
如果不加分号,一直按回车都没用 - SQL 中不区分大小写,关键字中认为大写和小写是一样的,推荐使用大写
- 3 种注释:
单行注释1 | 多行注释 | 单行注释2(这是MySQL特有的注释方式) |
---|---|---|
--空格 | /* */ | # |
5.DDL操作数据库
创建数据库
(1)创建数据库:CREATE DATABASE 数据库名;
(2)判断数据库是否存在,存在则不创建:CREATE DATABASE IF NOT EXISTS 数据库名;
(3)创建数据库并指定字符集:CREATE DATABASE 数据库名 CHARACTER SET 字符集;
查看数据库
(1)查看数据库,查看所有数据库:show databases;
(2) 查看数据库,查看某个数据库的定义信息:`show create database 数据库名 ;
修改数据库
(1)修改数据库的默认字符集alter database db1 character set utf8;
删除数据库
(1)`drop database 数据库名;
使用数据库
(1)查看正在使用的数据库:select database();
(2) 切换/使用数据库use 数据库名;
6.DDL操作表结构
首先是先进入一个数据库
创建表
(1)创建表的语句:create table table1(字段名 字段类型,字段名 字段类型);
(2) 详细的数据类型:
这里额外讲一下data类型
date:日期,只包含年月日,yyyy-MM-dd
datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
timestamp:时间错类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss
如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
还有一点需要注意varchar这个字段类型后面一定要指定字符长度否则会报错!!
(3) 快速创建一个表结构相同的表create table 新表名 like 旧表名;
查看表
(1)查看所有表show tables;
(2)查看表结构desc 表名;
(3)查看创建表的语句SHOW CREATE TABLE 表名;
删除表
(1)删除表drop 表名;
(2)删除表如果表存在的话:DROP TABLE IF EXISTS 表名;
修改表
(1)添加列alter table 表名 add 列名 数据类型
(2)修改表类型alter table 表明 modify 列名 新的类型;
(3)修改列名:ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
(4)删除列alter table 表名 drop 列名;
(5)修改表名rename table 表名to 新表名;
(6)修改字符集ALTER TABLE 表名 character set 字符集;
在这里插入图片描述