二、操作数据库

2.1、操作数据库

2021年12月24日

14:54

操作数据库 > 操作数据中的表 > 操作数据库表中的数据

mysql关键字不分区大小写

  1. 创建数据库

create database [if not exists] westos;

  1. 删除数据库

drop database [if exists] westos

  1. 使用数据库

-- tab 键的上面,如果你的表名或字段名是一个特殊字符,就需要带‘’

use ’school‘

  1. 查看数据库

Show database  -- 查看所有的数据库

2.2、数据库的列类型

2021年12月24日

14:59

数值

  • Tinyint         十分小的数据         1个字节
  • Smallint       较小的数据            2个字节
  • Mediumint  中等大小的数据     3个字节
  • Int                  标准的整形            4个字节         常用的  int
  • bigInt        较大的数据            8个字节
  • Float               浮点数                  4个字节
  • Double            双精度浮点数        8个字节
  • Decimal           字符串形式的浮点数,金融计算的时候,一般是使用decimal

字符串

  • Char           字符串固定大小的       0~255
  • Varchar    可变的字符串            6~65535
  • Tinytext      微型文本                2^8 - 1
  • Text               文本传                 保存大文本

时间日期

  • Date              YYY-MM-DD    日期格式
  • Time               HH:mm:ss     时间格式
  • Datetime         YYYY-MM-DD HH:mm:ss    最常用的时间格式
  • Timestamp        时间戳            1970.11.1   到现在的号毫秒数

Null

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

2.3、数据库的字段属性(重点)

2021年12月24日

15:04

Unsigned:

  • 的整数
  • 声明了该列不能声明为负数

zerofill

  • 0填充的
  • 不足的位数,使用0来填充,int(3),5  ---005

自增:

  • 通常理解为自增,自动在上一条记录的基础上 +1(默认)
  • 通常用来设计唯一的主键~ index,必须是整数类型
  • 可以自定义设计主键自增的起始值和步长

非空 Null not null

  • 假设设置为 not null,如果不给它赋值,就会报错!
  • NUll,如果不填写值,默认就是null!

默认:

  • 设置默认的值!
  • Sex,默认值为男,如果不指定该列的值,则会有默认的值!

2.4、创建数据库表

2021年12月24日

15:05

 

格式:

create table [if not exists] 表名(

'字段名'   列类型 [属性] [索引] [注释],

'字段名'   列类型 [属性] [索引] [注释],

…….

'字段名'   列类型 [属性] [索引] [注释],

)[表类型] [字符集设置] [注释]

常用命令:

  • Show create database schooll   -- 查看创建数据库的语句
  • Show create table student   -- 查看student数据表的定义语句
  • Desc student   -- 显示表的结构

 

2.5、数据表的类型

2021年12月24日

16:21

--  关于数据库引擎

Innoob   默认使用

Myisam   早些年使用的

MYISAM

INNODB

事务支持

不支持

支持

数据行锁定

不支持

支持

外键约束

不支持

支持

全文索引

支持

不支持

表空间的大小

较小

较大,约为2倍

常规使用操作:

在物理空间存在的位置:

所有的数据库文件都存在 data 目录下

2.6、修改删除表

2021年12月24日

16:23

修改

--  修改表名 alter table 旧表名 rename as 新表名

ALTER TABLE teacher RENAME AS TEACHER1

-- 增加表的字段  alter table 表名 add 字段名 列属性

ALTER   TABLE teacher1 ADD age INT(11)

--  修改表的字段(重命名,修改约束!)

ALTER TABLE teacher1 MODIFY age VARCHAR(11)  --  修改约束(列类型)

ALTER TABLE teacher1 CHANGE age age1 INT(2)  --  字段重命名

--  删除表的字段

ALTER TABLE teacher1 DROP age1

删除

--  删除表(如果表存在再删除)

DROP TABLE IF  EXISTS teacher1

所有的创建和删除操作尽量加上判断,以免报错~

注意点:

  • ''  字段名,使用这个包裹!
  • 注释  --  /**/
  • sql关键字大小写不敏感,建议大家写小写
  • 所有的符号全部用英文

本质还剩文件的存储!

MySQL 引擎在物理文件上的区别:

设置数据库的字符集编码

CHARSET=utf8

不设置的话,会是mysql默认的字符集编码- (不支持中文!)

MySQL的默认编码是Latin1,不支持中文

在my.ini中配置默认的编码

character-set-server=utf8

  • Innodb  在数据库表中只有一个*.frm文件,以及上级目录下的 ibdata1 文件
  • MYISAM  对应文件
    • *.frm        表结构的定义文件
    • *.MYO      数据文件(data)
    • *.MYL      索引文件(index)
  • MYISAM   节约空间,速度较快
  • INNODB    安全性高,事务的处理,多表多用户操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值