MySQL(一)基础知识(数据类型、字段属性),操作数据库和表,MYISAM和INNODB的区别

初识MySQL

数据库(DB)分类:

  • 关系型数据库: (SQL)
  • MySOL,Oracle,Sql Sever,DB2,SOLlite
  • 通过表和表之间,行和列之间的关系进行数据你的存储,学员信息表,考勤表,……
  • 非关系型数据库: (NoSQL) Not Only
  • Redis,MongDB
  • 非关系型的数据库,对象存储,通过对象自身的属性来决定

DBMS(数据库管理系统):

  • 数据库的管理软件,科学有效的管理数据,维护和获取数据
  • MySOL,是关系型数据库管理系统

基本操作指令

mysql -u root -p                                    --连接数据库
set password for 用户名 @localhost = password('新密码');    --修改密码
flush privileges                                     --刷新权限
-------------------------------------------------------------------------------
--所有语句结尾都用;
show databases;           --查看所有数据库

mysql> use school;        --切换数据库  use 数据库名  

show tables;             --查看数据库中所有的表
dicribe student;         --显示数据可中所有的表的信息

create database wang;    --创建新数据库

exit--退出连接
--单行注释(SQL本身的注释)
/**/ 多行注释

数据库语言:

DDL 定义
DML 操作
DQL 查询
DCL 控制

操作数据库

  • mysql中关键字不区分大小写,建议小写
  • 字段名用反引号`` 包裹

操作数据库(增删改查)

  • 创建数据库
CREATE DATABASE abc;
CREATE DATABASE IF NOT EXISTS abc;-- 添加判断是否已经存在
-- 查看创建对应数据库的语句
SHOW CREATE DATABASE `school`;
  • 删除数据库
DROP DATABASE IF EXISTS abc;

  • 使用数据库

-- 反引号,如果表明或者字段名为一个特殊字符(比如 select user等) 则要带上
USE `school`;
  • 查看数据库
SHOW DATABASES; -- 查看所有数据库

数据库的列类型

数值
数据类型属性和大小
tinyint十分小的数据,1字节
smallint比较小的数据,2字节
mediumint中等大小的数据,3字节
int(常用)标准整数,4字节
bigint较大的数据,8字节
float浮点数,4字节
double浮点数,8字节
decimal字符串形式的浮点数,金融计算的时候一般用decimal
字符串
字符串类型属性和大小
char固定大小的字符串 0-255
varchar可变大小的字符串 0-65535 常用的变量 String
tinytext微型文本 2^8 -1
text**文本串 2^16-1 保存大文本 **
时间日期

java.utill.Date

时间类型格式
dateYYYY-MM-DD
timeHH:mm:ss
datetimeYYYY-MM-DD HH:mm:ss 最常用时间格式
timestamp时间戳,1970.1.1到现在的毫秒数!!
year年份表示
null

没有值,未知

  • 注意,不要用null进行运算,结果为null

字段属性(重点)

属性说明
Unsigned限定为无符号整数,不能为负数
zerofill使用0去填充不足的位
autoincreament自增长,自动在上一条记录的基础上+1(默认),幅度可调
notNULL不能为空,若没有赋值则报错
default设置默认值,不赋值则使用默认值填充

每个表必须存在以下5个字段,表示一个表存在的意义

  • id 主键自增
  • version 乐观锁
  • is_delete 伪删除
  • gmt_create 创建时间
  • gmt_updata 修改时间

操作表

创建表

基本操作
/*
CREATE TABLE [IF NOT EXISTS] 表名( 
	`字段名` 数据类型和长度 [属性] [索引] [注释], 
	`字段名` 数据类型和长度 [属性] [索引] [注释], 
	`字段名` 数据类型和长度 [属性] [索引] [注释], 
	[PRIMARY KEY (`字段名`) ]
)[表类型][字符集][注释]; 
*/
-- AUTO_INCREMENT 自增
-- 字符串用单引号括起来
-- 所有语句后加,(英文),最后一个不用加 
-- DEFAULT NULL 默认为空
-- PRIMARY KEY  设置主键,一般是id

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

--查看创建对应表的语句
SHOW CREATE TABLE `students`;
--查看表的结构
DESC `students`;
数据表的类型
-- 关于数据库引擎
/*
INNODB 默认使用
MYISAM 早些年使用
*/
MYISAMINNODB
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
大小较小较大,约2倍
  • 常规使用操作
    • MYISAM:节约空间,速度较快
    • INNODB:安全性高,事务的处理,多表多用户男的操作

修改和删除表

修改
-- 重命名表
-- ALTER TABLE `旧名` RENAME AS `新名`;
ALTER TABLE `teacher` RENAME AS `teachers`;
-- 添加字段
--ALTER TABLE `表名` ADD `字段` 约束;
ALTER TABLE `teachers` ADD `age` INT(11);
-- 修改字段的约束
-- ALTER TABLE `表名` MODIFY `字段名` 约束;
ALTER TABLE `teachers` MODIFY `age` INT(3);
-- 重命名字段 也可以同时修改约束,不推荐
-- ALTER TABLE `表名` CHANGE `旧字段名` `新字段名` 约束;
ALTER TABLE `teachers` CHANGE `age` `age1` INT(11);

删除
-- 删除表的字段
--ALTER TABLE `表名` DROP `字段名`;
ALTER TABLE `teachers` DROP `age1`;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值