MySql教程

mysql操作数据库

本文主要是介绍mysql操作数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

操作数据库

mysql关键字不区分大小写

  1. 创建数据库:

    CREATE DATABASE IF NOT EXISTS yuanyu;
    
  2. 删除数据库:

    DROP DATABASE IF EXISTS school;
    
  3. 使用数据库:

    USE boot;
    

    如果表名或字段名是一个特殊字符,则需要加上反引号``

  4. 查看数据库:

    SHOW DATABASES; --查看所有数据库
    

对照SQLyog可视化历史记录查看SQL

数据库的数据类型

数值

  • tinyint(1B)
  • smallint(2B)
  • medium(3B)
  • int(4B) 标准的整数
  • bigint(8B)
  • float(4B)
  • double(8B)
  • decimal 字符串形式的浮点数,常使用在金融计算中

字符串

  • char 固定大小 0-255
  • varchar 可变长字符串 0-65535 (String)
  • tinytext 微型文本 2^8-1
  • text 文本串 2^16-1

时间日期

  • data YYYY-MM-DD
  • time HH:mm:ss
  • datatime YYYY-MM-DD HH:mm:ss
  • timestamp 时间戳 1970.1.1到现在的毫秒数
  • year 年份表示

null

建议不要使用null进行计算,结果为null

数据库的字段属性

Unsigned:

  • 无符号的整数
  • 不能声明为负数

zerofill:

  • 0填充

自增:

  • 通常用来设计唯一的主键-index,必须是整数类型

  • 可以自定义设计主键自增的起始值和步长

    image

非空:

  • 若不赋值则会报错

每一张表都应该存在该五个字段:

  • id 主键
  • ** ` version` 乐观锁**
  • is_delete 伪删除
  • gmt_create 创建时间
  • gmt_update 修改时间

创建数据库表

-- 注意使用英文括号,表名和字段名尽量使用反引号括起来
-- 字符串尽量使用单引号括起来
-- 所有的语句后面加逗号,最后一个不用加
CREATE TABLE IF NOT EXISTS `student`(
 `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
  `pwd` VARCHAR(20) NOT NULL DEFAULT '12345' COMMENT '密码',
  `sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
  `birthday` DATETIME DEFAULT NULL COMMENT'出生日期',
  `address` VARCHAR(190) DEFAULT NULL COMMENT'家庭住址',
  `email` VARCHAR(50) DEFAULT NULL COMMENT'邮箱',
  PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

image

显示表的结构:

DESC student

image

在SQLyog中查看语句

image

复制内容如下:

CREATE TABLE student (
id int NOT NULL AUTO_INCREMENT COMMENT '学号',
name varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
pwd varchar(20) NOT NULL DEFAULT '12345' COMMENT '密码',
sex varchar(2) NOT NULL DEFAULT '女' COMMENT '性别',
birthday datetime DEFAULT NULL COMMENT '出生日期',
address varchar(190) DEFAULT NULL COMMENT '家庭住址',
email varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

关于数据表类型

关于数据库引擎

  • INNODB 默认使用
  • MYISAM 早些年使用
MYISAM INNODB
事务支持 不支持 支持
数据行锁定 不支持(表锁) 支持(行锁)
外键约束 不支持 支持
全文索引 支持 不支持
表空间大小 较小 较大(约两倍)

常规使用:

  • MYISAM 节约空间 速度较快
  • INNODB 安全性高,事务的处理,多表多用户操作

在物理空间存在的位置

所有的数据库文件都存在于Data目录下,一个文件夹对应一个数据库,本质还是文件的存储
image

Mysql引擎在物理空间上的区别

  • INNODB 在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
  • MYISAM 对应文件
    • *.frm 表结构的定义文件
    • *.MYD 数据文件(data)
    • *.MYI 索引文件(index)

设置数据库表的字符集编码

CHARSET = utf8

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

可以在创建的时候设置字符集编码

或者在my.ini中配置

character-set-server=utf8
这篇关于mysql操作数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!