文章目录

  • 一、数据库简介
  • 二、MySQL
  • 三、MySQL安装
  • 四、sql常用命令行
  • 五、操作数据库
  • 六、数据库列的类型
  • 七、字段属性
  • 八、数据表的类型
  • 九、修改和删除数据表字段

一、数据库简介

数据库(DB,DataBase)
作用:存储数据,管理数据
概念:数据仓库,软件,安装在操作系统上
数据库的分类:
①关系型数据库(SQL):行列
例如:Mysql、Oracle、Sql Sever、DB2、SQLite
通过表和表之间,行和列之间的关系进行数据的存储
②非关系型数据库(NoSQL Not SQL):{key:value}
例如:Redis、MongDB
非关系型数据库,通过对象来存储,通过对象的自身的属性来决定。

二、MySQL

Mysql是一个关系型数据库管理系统,属于Oracle旗下产品
开源的数据库软件
体积小、速度快、总体拥有成本低
官网:www.mysql.com

三、MySQL安装

安装建议:
1、尽量不要使用exe,否则卸载麻烦
2、尽可能用压缩包安装
步骤:
①下载zip
②解压到目录 D:\Mysql8.0\mysql-8.0.31-winx64
③添加环境变量
我的电脑→属性→高级→环境变量
将bin的目录添加到PATH后
④在D:\Mysql8.0\mysql-8.0.31-winx64下新建my.ini文件
编辑my.ini文件

[mysqld]
# 设置3306端口,如果之前下载过旧版本的MySQL,将3306改为3307,进行区分
port=3306
# 设置mysql的安装目录
basedir=D:\\Mysql8.0\mysql-8.0.31-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\Mysql8.0\mysql-8.0.31-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 如果电脑里没有其他版本的MySQL,此处为3306, 否则为3307;需要与第三行的保持一致!
port=3306
default-character-set=utf8mb4

⑤启动管理员模式的cmd,到bin目录下输入mysqld -install 安装mysql
mysqld --initialize-insecure --user=mysql初始化数据文件
⑥mysql -u root -p 进入mysql管理界面
⑦ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’; 修改密码
⑧flush privileges;刷新权限
⑨exit→net stop mysql→net start mysql

四、sql常用命令行

每一个sqlyog的操作都对应sql语句的实现,可以在软件的历史记录看到

创建数据库
create database shop;
CREATE DATABASE `school`CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci;
创建表格
CREATE TABLE `school`.`student` ( `id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '学员id', `name` VARCHAR(20) NOT NULL COMMENT '学员姓名', `age` INT NOT NULL COMMENT '学员年龄', PRIMARY KEY (`id`) ) CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
插入
INSERT INTO `school`.`student` (`id`, `name`, `age`) VALUES (NULL, 'kewin', '13');
切换数据库
USE school;
查看数据库中所有的表
show tables;
查看表的信息
describe student;
退出连接
exit;
-- 单行注释
/*
sql的多行注释
*/

数据库语言分类
DDL 数据库定义语言
DML 数据库操作语言
DQL 数据库查询语言
DCL 数据库控制语言

五、操作数据库

mysql关键字不区分大小写

创建数据库
CREATE DATABASE [IF NOT EXISTS] database1;
删除数据库
DROP DATABASE [IF EXISTS] database1;
使用数据库 如果有特殊字符则加上``
use `user`
查看所有数据库
SHOW DATABASES
创建表格
CREATE TABLE [IF NOT EXISTS] `表名`(`字段名` 列类型 [属性] [索引] [注释],`字段名` 列类型 [属性] [索引] [注释],...`字段名` 列类型 [属性] [索引] [注释]
)[表类型][字符集设置][注释];CREATE TABLE IF NOT EXISTS `teacher`(`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',`name` VARCHAR(30) NOT NULL DEFAULT 'name' COMMENT '姓名',`pwd` VARCHAR(20) NOT NULL DEFAULT '123' COMMENT '密码',`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',`birthday` DATETIME NOT NULL COMMENT '出生日期',`address` VARCHAR(100) DEFAULT NULL COMMENT '地址',`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
查看创建数据库的语句
SHOW CREATE DATABASE school
查看student数据表的定义语句
SHOW CREATE TABLE student
显示表的结构
DESC student

六、数据库列的类型

数值
tinyint 十分小的数据 1个字节
smallint 较小的数据 2个字节
mediumint 中等大小的数据 3个字节
int 标准的整数 4个字节
bigint 较大的数据 8个字节
float 浮点数 4个字节
double 浮点数 8个字节
decimal 字符串形式的浮点数 金融计算的时候使用
字符串
char 字符串固定大小的 0-255
varchar 可变字符串 0-65535
tinytext 微型文本 2^8-1
text 文本串 2^16-1
时间日期
date YYYY-MM-DD,日期
time HH:mm:ss,时间格式
datetime YYYY-MM-DD HH:mm:ss 日期时间
timestamp 时间戳 1970.1.1到现在的毫秒数
year 年份表示

null
没有值,未知
==注意,不要使用NULL进行运算,结果为null

七、字段属性

unsigned:无符号的整数,声明了该列不能为负数,只能用于int类型
zerofill:0填充,不足的位数用0补上
自增:自动在上一条记录的基础上+1(默认),用来设计唯一的主键index,必须是整数类型
可以自定义设置主键自增的起始值和步长
空与非空:假设设置为not null,如果不赋值就报错,null的话代表如果不填写值,默认是null
默认:设置默认值
规范的表格必有的五个属性:id主键、version乐观锁、is_delete伪删除、gmt_create创建时间、gmt_update修改时间

八、数据表的类型

数据库的引擎
①INNODB 表空间较大,约2倍,安全性高,多表多用户操作
默认使用 支持事务支持、数据行锁定、外键约束,不支持全文索引
②MYISAM 表空间较小 速度快
早些年使用的 支持全文索引,不支持事务支持、数据行锁定、外键约束

所有数据库文件都存在data中,一个文件夹对应一个数据局,本质还是文件的存储
两者在物理文件上的区别
InnoDB在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
MYISAM对应的文件:*.frm 表结构的定义文件 *.MYD 数据文件 *.MYI 索引文件

设置数据库的字符集编码
charset=utf8
不设置的话默认的不支持中文
Mysql的默认编码是Lartin1
在my.ini中可以配置默认编码
character-set-sever=utf8

九、修改和删除数据表字段

修改表
ALTER TABLE 旧表名 RENAME AS 新表名;
ALTER TABLE teacher RENAME AS teacher1;
增加表的字段
ALTER TABLE 表名 ADD 字段名 列类型;
ALTER TABLE job ADD jobname VARCHAR(20);
修改表字段
ALTER TABLE 表名 MODIFY 列名 列类型;
ALTER TABLE job MODIFY jobname INT(10);
ALTER TABLE 表名 CHANGE 旧列名 新列名 列类型;
ALTER TABLE job CHANGE jobname job VARCHAR(20);
删除表字段
ALTER TABLE 表名 DROP 列名;
ALTER TABLE job DROP job;
删除表
DROP TABLE IF EXISTS 表名;
DROP TABLE IF EXISTS teacher;

注意:
①所有创建和删除尽量加上判断,以免报错
②字段名,使用``包裹
③sql关键字大小不敏感,建议小写
④所有符号全部英文

Mysql基础知识01相关推荐

  1. MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物

    MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物 前言 1.MySQL概述 1.1数据库相关概念 1.2MySQL数据库 1.2.1版本 1.2.2下载 1.2.3安装 ...

  2. MySQL基础知识之增删改查

    MySQL基础知识之增删改查 MySQL基本语法: 1.创建库:create database 库名: 创建带编码格式的库:create database 库名 character set 编码格式: ...

  3. MySQL工作中的实际用_总结工作中经常用到的mysql基础知识

    总结工作中经常用到的mysql基础知识 发布时间:2020-06-08 11:27:30 来源:51CTO 阅读:217 作者:三月 本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是 ...

  4. mysql基础知识(二)

    这一篇是第二部分,要查看第一部分,请查看这个链接 mysql基础知识(一) DQL语言 1.1简单的单表查询 查询表的通用格式:select [distinct] [*] [列名1,列名] from ...

  5. mysql基础知识(一)

    mysql是主流的关系型数据库管理系统(RDBMS---relation database management system),操作是需要用SQL(Structured Query Language ...

  6. 【MySQL基础知识】查询、过滤数据关键字

    MySQL基础知识 一.检索数据 1. SELECT select是使用最广泛的检索数据的语句. 检索要查的表的所有列: select * from (表名称)... 检索要查的表的某一列或多列: s ...

  7. 快速学习mysql_快速学习MySQL基础知识

    这篇文章主要梳理了 SQL 的基础用法,会涉及到以下方面内容: SQL大小写的规范 数据库的类型以及适用场景 SELECT 的执行过程 WHERE 使用规范 MySQL 中常见函数 子查询分类 如何选 ...

  8. linux增删查改语句,mysql基础知识之增删查改使用介绍

    mysql基础知识之增删查改使用介绍 本文主要介绍mysql常用的SELECT.INSERT.UPDATE.DELETE语句的使用,数据库的安装这里不做介绍,并且事先已经准备好相关数据. 本文中使用的 ...

  9. MySql基础知识【一】

    Mysql基础知识 1. MySql是什么 2. 数据库设计的三大范式 2.1. 第一范式 2.2. 第二范式 2.3. 第三范式 3. Binlog的三种模式 3.1 Statement模式(默认) ...

最新文章

  1. Java编程中,有哪些好的习惯从一开始就值得坚持?
  2. jQuery UI 1.10.1 发布
  3. python tempfile cleanup_Python tempfile模块:生成临时文件和临时目录
  4. 初级程序员应该怎么办?
  5. hdu 3652 B-number 数位dp
  6. kotlin面试_Kotlin面试问题
  7. MS SQL中查看text,ntext,image类型数据
  8. Javascript之基本包装类型
  9. python 翻译代码_python写的翻译代码
  10. OSGEARTH三维地形开源项目
  11. c语言 队列方法的编写
  12. 计算机网络路由器的配置连接不上,路由器安装设置好后电脑还是不能上网解决办法...
  13. pdf文件加水印输出图片
  14. 安全生产六步法是什么_安全生产六步法
  15. vscode下载太慢,快速下载vscode方法!
  16. 蓝牙技术|蓝牙助力智能手表的未来发展
  17. 行业认证标准:PCI DSS - 支付卡行业数据安全标准
  18. Mac pro更换大内存固态硬盘实践教程
  19. 读书笔记-成功需要努力勤奋和坚持不懈
  20. 阿里、拼多多大佬的IT公众号!

热门文章

  1. esp8266学习感悟
  2. 划分训练集、测试集,制作自己的数据集
  3. Python 使用pyinstaller打包exe文件报错: TypeError: an integer is required (got type bytes) 的解决方法
  4. Vue3中使用Ant Design Vue图标
  5. 各种博客的代码高亮是如何实现的
  6. Spring cloud config Actuator健康监测
  7. PL/0 语言简介、PL/0 文法
  8. Echo写入一句话木马+分段写入
  9. 博弈论在自动驾驶方向的应用(Ⅰ):变道决策的综述
  10. word2vec初步使用