当前位置:Gxlcms > 数据库问题 > 2、操作数据库

2、操作数据库

时间:2021-07-01 10:21:17 帮助过:29人阅读

操作数据库

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

MySQL关键字不区分大小写

2.1、操作数据库(了解)

1.创建数据库

CREATE DATABASE westos;

2.删除数据库

DROP DATABASE westos;

3.使用数据库

USE school;

4.查看数据库

SHOW DATABASES;

学习思路:

  • 对照sqlyog可视化历史记录,可以查看sql语句
  • 固定的预发或关键字必须强行记住!

2.2数据库的列类型

技术图片

技术图片

技术图片

技术图片

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

Unsigned:

  • 无符号的整数
  • 声明该类为正整数,没有负数

zerofill:

  • 0填充
  • 不足的位数,使用0来填充,int(3),会将5存储为005

自增:

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

非空 Null not null

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

默认:

  • 设置默认的值
  • sex,默认为男,如果不设置指定的值,那么它的值就是默认的值

拓展:

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



2.4创建数据库表(重点)

--学号(int) 登录密码(varchar(20)) 姓名  性别varchar(2) 出生日期(datetime) 家庭住址  Email

--注意,要使用英文括号(),表的名称和字段尽量使用``括起来
--AUTO_INCREMENT  自增
--字符串要使用单括号‘‘括起来
--每一段属性描述后加,  最后一行不用加
--PRIMARY KEY 主键,一般一个表有一个唯一的主键
CREATE TABLE `student` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT ‘学号‘,
`name` VARCHAR(8) NOT NULL DEFAULT ‘匿名‘ COMMENT ‘姓名‘,
`pwd` INT(6) NOT NULL DEFAULT ‘123456‘ 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 CHARSET=utf8

格式

CREATE TABLE `表名`(
    `字段名` 列类型 [属性][索引][注释],
    `字段名` 列类型 [属性][索引][注释],
    `字段名` 列类型 [属性][索引][注释],
    .......
    `字段名` 列类型 [属性][索引][注释]
    PRIMARY KEY(`字段名`)--设置主键
)[表类型][字符集设置][注释]

常用命令

SHOW CREATE DATABASE school;--查看创建数据库的语句
SHOW CREATE TABLE student;--查看创建表的语句
DESC student;--显示表的结构

2.5数据库表的类型

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

常规使用操作

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

在物理空间存在的位置

所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库

本质还是文件的存储

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

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

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

CHARSET=utf8

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

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

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

character-set-server=utf8

2.6修改删除表

修改

--修改表名:ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE teacher RENAME AS teacher1

--增加表的字段:ALTER TABLE 表名 ADD 字段名 列属性
ALTER TABLE teacher1 ADD id INT(3)

--修改表的字段(重命名,修改约束)
--ALTER TABLE 表名 MODIFY 字段名 列属性[]
ALTER TABLE teacher1 MODIFY id VARCHAR(11)--修改约束(列属性)
--ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性[]
ALTER TABLE teacher1 CHANGE id id1 INT(3)--字段重命名,也可以顺便修改一下列属性

--删除表的字段:ALTER TABLE 表名 DROP 字段名
ALTER TABLE teacher1 DROP id1

删除

--删除表:DROP TABLE [IF EXISTS] 表名
DROP TABLE IF EXISTS teacher1

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

注意点:

  • 字段名要用``包裹
  • 注释 -- 或/**/
  • sql关键字大小写不敏感,建议大家写小写
  • 所有的符号要用英文

2、操作数据库

标签:主键   负数   character   base   email   数据   个数   primary   数据文件   

人气教程排行