MySQL数据库基础

目录

1. 数据库的操作

1.1 显示当前的数据库

 1.2 创建数据库

 1.3 使用/选中 数据库

1.4 删除数据库

 2. 常用数据类型

2.1 数值类型

2.2 字符串类型

 2.3 日期类型

 3. 表的操作

​编辑 3.1 查看所有表

3.2 创建表

3.3 查看表结构

3.4 删除表

 练习:


1. 数据库的操作

1.1 显示当前的数据库

SHOW DATABASES;
注意: MySQL是用命令行操作, 所以基本的格式 规则要掌握:
  • 输入单词之间, 要带有空格, 多个空格是可以的, 但至少有一个空格
  • 语句结束要带上分号 必须是英文分号!
  • 输入完毕后, 按回车表示执行这个命令
  • 拼写要正确!!!

结果:

  • 上面的4个Database是MySQL自带的数据库, 叫"系统库"
  • 5 rows in set(0.02 sec)  set集合 sec秒
  • 如果我们拼写错误, 就会出现错误信息, 一般在错误信息后面, 会有提示, 仔细阅读即可

 1.2 创建数据库

(1)最简单的方式

create database 数据库名;

注意: 

  • SQL是大小写不敏感的, 学成大写也可以
  • 数据库名不能和SQL中的关键字重复
  • 如果实在是想用关键字作为数据库名, 可以使用反引号`, 把这个名字引起来(反引号在键盘Esc键的下面, 英文模式)

结果:

创建成功!

(2)可以指定字符集

create database 数据库名 charset 字符集名;

什么是字符集?  通俗来讲, 就是将所有非数字的字符, 转化成十六进制数据, 能够存到计算机中

例如:

  • GBK  兼容ASCII, 可以表示英文, 还可以表示中文, 使用两个字节表示一个汉字
  • UTF8 可以表示世界上任意语言文字, 一个汉字一般占三个字节,  后续创建数据库, 建议大家使用UTF8 作为字符集
  • 但是MySQL的UTF8 其实不是完整的, 比标准的UTF8 少了一些东西(主要是少了emoji表情) , 为了解决这个问题, MySQL提供了 UTF8mb4 这样的字符集(MySQL独有, 就是完整的UTF8)

(3) 指定校验规则

 create database 数据库名 collate 校验规则名;

一般不需要修改, 使用默认的即可

 1.3 使用/选中 数据库

use 数据库名 ;

 后续的进一步操作, 都需要选中数据库, 然后再操作

1.4 删除数据库

drop database 数据库名;
说明 :
  • 数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除

结果:

 2. 常用数据类型

2.1 数值类型

分为整型和浮点型:

注意: 

  • float 和 double 和java类似, 在进行运算时, 可能会导致精度丢失
  • decimal 不会引起精度丢失, 但相对float 和 double来说, 存储需要更对的空间, 计算也需要更多的时间

2.2 字符串类型

注意:

  • varchar 可变长字符串类型, ()中表示能存储的最大长度  单位是字符, 与C不同, C的char类型单位是字节, 例如, 一个汉字表示一个字符, 但是可以是若干字节
  •  text 长度自适应, 自动扩容, (但在工程中不怎么使用, 因为不明确数据存储的上限)
  • blob 存储"二进制"数据, 在对应码表中是无法查到的, 而上述三个是文本数据(字符串)

 2.3 日期类型

注意:

  • 现在不推荐用timestamp, 因为快"过期"了 

 小结:

重点掌握: int  double varchar datetime  其他简单了解即可

 3. 表的操作

需要操作数据库中的表时,需要先使用该数据库:

use 数据库名;

否则会报错:

 3.1 查看所有表

show tables;

注意:此命令只能看到当前数据库的表, 想要看其他的要切换到其他的数据库 

3.2 创建表

 语法:

create table 表名(列名 类型, 列名 类型 ...);

注意:

  • 列名在前, 类型在后 
  • 设置表名和列名时, 不能和SQL中的关键字重复
  • 如果实在是想用关键字作为数据库名, 可以使用反引号`, 把这个名字引起来(反引号在键盘Esc键的下面, 英文模式)
  • 同一个数据库中, 表名不能重复(不同数据库可以重复)

创建一个student表 

3.3 查看表结构

desc 表名;

注意: 这里的desc是describe描述的意思  后面我们还会遇到desc 是descend 降序的意思 

 查看student表:

  • Field  表示字段/列  (一下术语都表示列: 成员变量(member variable)  属性(property)  字段(field)) 
  • Type 字段类型  int(11) 中的(11) 表示 在控制台中显示这一列的数据的时候, 最多占11个字符
  • Null 表示这个列是否能取空值
  • Key 
  • Default 列的默认值
  • Extra 其他信息

3.4 删除表

语法:

drop table 表名;

不仅仅删除表本身, 也删除了表里面的数据

 练习:

商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 应商provider)

分析:

在表示单价时, 我们肯定是要精确度更高, 但我们使用decimal, 虽然可以精确表示, 但是存储空间大, 计算小号的时间更多, 更好的办法:用int 但是单位是分!

SQL:

 

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值