mysql数据库操作

2、数据库的操作

mysql关键字不区分大小写
操作数据库>操作数据库中的表>操作数据库中表的数据

2.1、操作数据库

  1. 创建数据库
CREATE DATABASE IF NOT EXISTS westos;
  1. 删除数据库
DROP DATABASE IF EXISTS WESTOS;
  1. 使用数据库
--tab键上面,如果你的表名或者字段名是一个特殊的字符,需要带`
USE `SCHOOL`;

4.查看数据库
show

学习思路

  • 对照sqlyog可视化历史记录查看sql
  • 固定的语法或关键字必须记住

2.2、数据库的数据类型

  • 数值

    • tinyint 十分小的数据 1个字节
    • smallint 较小的数据 2个字节
    • mediumint 中等数据 3个字节
    • int 标准 4个字节 最常用的
    • bigint 较大的数据 8个字节
    • float 浮点 4个字节
    • double 浮点 8个字节(精度)
    • decimal 字符串形式的浮点,金融计算的时候
  • 字符串

    • char 固定长度的字符串 0-255
    • varchar 可变长度的字符串 0-65535 常用的 String
    • tinytext 微型文本 2^8-1
    • text 文本串 2^16-1 保存大文本
  • 时间日期

    • date YYY-MM-DD,日期格式
    • time HH:mm-ss,时间格式
    • datetime YYY-MM-DD HH:mm-ss,最常用的时间格式
    • timestamp 时间戳 1970.1.1 到现在的毫秒数
    • year:年
  • null

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

2.3、数据库的字段属性

  • Unsighed: 无符号整数,不能声明为负数

  • zerofill:不足的位数零填充

  • 自增: 自动在上一条记录的基础上+1(默认),通常用来设计唯一的主键,必须是整数。可以自定义设计起始值

  • 非空 Null not null:假设设置为not null,如果不给他赋值,就报错。 Null,如果不填写值,就是null.

  • default : 设置默认值

拓展:

每一个表,都必须存在以下五个字段!未来做项目用的,表示一个记录存在的意义
id 主键
‘version’       乐观锁
is_delete      伪删除
gmt_create   创建时间
gmt_update  修改时间

2.4、 创建数据库表(重点)

-- 注意点,使用英文括号,表的名称和字段尽量使用``括起来
-- AUTO_INCREMENT 自增
-- 字符串使用用法单引号括起来
-- 所有的语句后面加,(英文的)最后一个字段不用加
-- PRIMARY KEY 主键:一般一个表只有一个主键

CREATE TABLE IF NOT EXISTS `student1`(
	`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
	`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
	`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
	`birthdat` DATETIME DEFAULT NULL COMMENT '出生日期',
	`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
	`email` VARCHAR(50) DEFAULT NULL COMMENT '电子邮箱',
	PRIMARY KEY(`id`)
	
)ENGINE INNODB DEFAULT CHARSET= utf8

格式

CREATE TABLE [IF NOT EXISTS] `表名`(

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

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

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

`字段名` 列类型 [属性] [索引] [注释]
)[表类型][字符集设置][注释]

常用命令:

-- 可以利用逆向思维
SHOW CREATE DATABASE school; -- 查看创建数据库语句
SHOW CREATE TABLE student1;-- 查看创建student数据表的语句
DESC student1; -- 显示表的结构

2.5、 数据表的类型

-- 关于数据库引擎
/*
INNODB:默认使用
MYISAM 早些年使用的
*/
事务支持         MYISAM : NO       INNODB:YES
数据行锁定      MYISAM : NO       INNODB:YES
外键约束          MYISAM : NO       INNODB:YES
全文索引          MYISAM : YES       INNODB:NO
表空间的大小    MYISAM : 较小       INNODB:较大,约为2倍


常规使用操作
MYISAM  节约空间,速度较快
INNODB   安全

在物理空间中存放的位置:
所有的数据库文件都存放在data目录下,一个文件夹对应一个数据库

本质还是文件的存储!
MYSQL引擎在物理文件上的区别

  • INNODB在数据库表中只有*.frm文件,上级目录下的ibdata1文件
  • MYISAM对应的文件
    • *.frm - 表结构的定义文件
    • .MYD 数据文件
      -
      .MYI 索引文件

设置数据库表的字符集编码
charset= utf8;
如果不设置,mysql默认的字符集编码将不支持中文。
在my.ini中配置默认的编码
Character -seet -server=utf8

2.6、 数据表的类型

-- 修改表名 ALTER TABLE 旧表名 RENAME AS 新表名;
ALTER TABLE student1 RENAME AS teacher;

-- 增加表的字段  ALTER TABLE 表名 ADD 字段名 列属性;
ALTER TABLE teacher ADD age INT(11);
-- 修改表的字段 (重命名,修改约束)

-- 修改约束
-- ALTER TABLE 表名 MODIFY 字段名 列属性[]
ALTER TABLE teacher MODIFY age VARCHAR(11);
-- 字段重命名
-- ALTER TABLE 表名 CHANGE 字段名 列属性[]
ALTER TABLE teacher CHANGE age age1 INT(11) ;

-- 删除表的字段

ALTER TABLE 表名 DROP 字段名;
ALTER TABLE teacher DROP age1;

-- 删除表(如果表存在再删除)
DROP TABLE IF EXISTS school;

所有的创建和删除操作都要增加判断,以免报错

注意点:

  • ··字段名,使用这个包裹
  • 注释 – /**/
  • sql关键字大小写不敏感,建议小写
  • 所有符号全部英文
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值