【MySQL基础】_第一篇--概述_DDL

数据库概述

 

为什么学习数据库?

为了将数据持久的保存起来    java中的对象都是存储在内存中,程序结束都销毁

之前学习IO,将数据存储在文件,但是内容整体是一个字符串,使用起来不方便

所以我们需要学习一种专业存储数据的软件---数据库

数据库不仅可以持久的保存数据,还可以方便的提取数据。

数据库:

    为了方便数据的存储和管理(增删改查),将数据按照特定的规则存储起来,就是一个存储数据的仓库

数据库(DataBase  DB)可以称为数据库

数据库管理系统(DataBase Management System)数据库管理软件—全称

 常见的数据库产品

   国外

      MySQL 快捷、可靠 开源、免费

Oracle:功能强大,收费.

SQL Server(微软): 只能安装在Windows操作系统(收费)

DB2 (IBM):适合处理海量数据,收费.

   国内

      南大通用GBASE: 天津南大通用数据技术股份有限公司

达梦:武汉达梦数据库股份有限公司

人大金仓:北京人大金仓信息技术股份有限公司

神通:神舟通用公司

 

MySQL数据库

MySQL最早是由瑞典的MySQL AB公司开发的 现在被Oracle公司收购

MySQL是一种关系型数据库

   在关系型数据库中,基本单位是表,一个表中存储一类信息,表与表之间存在关联关系

MySQL是开源的 也就是免费的

 具有快速、可靠和已于使用的特点

 使用标准的sql语言,并且指出多种操作系统(在window和linux都可以安装)

 支持多种语言 (支持Java,c,c++,c#,python,php连接)

 现在MySQL有商业版(收费)与社区版(免费)

 

MySQL安装

   

   MySQL下载安装

MySQL :: Download MySQL Community Server

0c83c776539c4a58a13989631dad2707.png

  1. 解压MySQL安装包 解压到一个没有中文路径的文件夹中
  2. 11b27be66a954f73b92742950ea9dc86.png
  3. 配置环境变量   D:\Program Files\mysql-8.0.22-winx64\mysql-8.0.22-winx64\bin
  4. 以管理员身份运行cmd
  5. 进入到bin目录中
  6. f5dea22f29ce48ba9db09e33eaf6d5dc.png
  7. 初始化数据库  mysqld –initialize-insercure
  8. 安装  mysqld install
  9. 启动  net start mysql

在命令行中连接mysql

   Mysql -uroot-p

 LTER USER  'root'@'localhost'  IDENTIFIED WITH mysql_native_password BY  'root';

 

Sql语言

   Structured Query Language(结构化查询语言)

   数据库操作语言

   也属于一种编程语言,专门用作数据库操作

 

Sql语言中又分为3个不同的分支

  1. DDL 数据(结构)定义
  2. DML 数据操作  增删改
  3. DQL 查询语句

1、DDL

● 数据(结构)定义语言DDL(Data Definition Language),是用于创建和修改数据库表结构的语言。

● 常用的语句:create

 

创建,删除数据库

创建数据库并设置编码格式

CREATE DATABASE [if not exists] 数据库名[ CHARSETutf8]

删除数据库

DROP DATABASE 数据库名 / [IF EXISTS数据库名];

修改字符集

ALTER DATABASE 数据库名 CHARSET gbk;

-- 创建数据库
CREATE DATABASE IF NOT EXISTS schooldb CHARSET utf8
-- 删除数据库
DROP DATABASE IF EXISTS schooldb

-- mysql中数据库一旦创建,名字就不能修改了
-- 修改数据库字符集
ALTER DATABASE schooldb CHARSET utf8;

-- 创建表
-- 确定表名 学生信息表
-- 确定表中字段(列)学号,姓名,生日,电话,身高,注册时间
-- 确定字段(列)的数据类型  以及长度
-- 确定列的约束 

-- char(n) 定长的字符串 固定的存储n个字符,长度如果不够n,默认补空格
-- VARCHAR(n) 可变长度的字符串  n是最大长度  如果只存储2个字符,实际占有2个空间位置
CREATE TABLE student(
   number INT,
   NAME VARCHAR(6),
   gender CHAR(1),
   birthday DATE,
   phone VARCHAR(11),
   height DECIMAL(3,2),
   reg_time DATETIME
)

 

44212a8de5dd41958b2841dfcb8d1300.png

 

数据库表的基本概念

1、数据表

           表(table)是数据存储的最常见和最简单的形式,是构成关系型数据库的基本元素。表的最简单形式是由行和列组成,分别都包含着数据。 每个表都有一个表头和表体,表头定义表名和列名 .表中的行被看作是文件中的记录,表中的列被看作是这些记录的字段。

2、字段

             字段是表里的一列,用于保存每条记录的特定信息。如客户订单表的字段包括“订单ID”、“姓名”、“客户ID”、“职务”、“上级”、“地区”、“运货商”、“国家”等。数据表的一列包含了特定字段的全部信息。

3、记录

              记录也被称为一行数据,是表里的一行数据。

● 对于具体的某一个表,在创建之前,需要确定表的下列特征:

       ● 表名(表信息)

       ● 表中的字段

       ● 字段的数据类型和长度

       ● 哪些约束

设计表(数据类型)

char(n) 长度为n的定长字符串,最大长度255个字符

varchar(n) 最大长度为n的可变长字符串

date 日期, 包含年月日

datetime 年月日 时分秒

 

c864a82ea2784a93a0b4b464604db983.png

设计表(数据类型)

浮点

     decimal

    数据类型(M,D)

M:精度,数据的总长度;

D:标度,小数点后的长度

 

设计表(数据类型)

TEXT列字符字符串 有4种TEXT类型:

       TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。

它的长度:

TINYTEXT:最大长度255个字符(2^8-1)

TEXT:最大长度65535(2^16-1)

MEDIUMTEXT:最大长度16777215(2^24-1)

LONGTEXT最大长度4294967295(2^32-1)

 

主键:

    在一张表中代表唯一的一条记录,不能为空,不能重复

约束:

          PRIMARY KEY 设置主键约束

         NOT NULL 不能为空约束

          UNIQUE 唯一性约束

          检查约束 设置条件

          外键约束 

    主键自动增长,设置为自动增长时,只能为整数类型 AUTO_INCREMENT

默认值

          DEFAULT default_value 字段

注释:

          comment '注释'

创建表语法:

   CREATE TABLE 表名(列名 数据类型 [约束] [默认值] [ 注释],......)

CREATE TABLE t_user(
       id INT [PRIMARY KEY NOT NULL AUTO_INCREMENT],
       number INT(5) NOT NULL, 
       stuname VARCHAR(10) NOT NULL, 
       age INT(3) CHECK(age>18), 
       birthday DATE, weight DOUBLE,
       opertime datetime,
       [CONSTRAINT 约束名 约束规则]
)

删除表,修改表名

       删除表

DROP TABLE [if exists ]表名

      修改表名

RENAME TABLE 旧表名 TO 新表名

      复制表结构

 CREATE TABLE 新表名 LIKE 被复制表名;

 

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lil_侯昊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值