2、操作数据库 [数据库教程]

database

数据库">操作数据库

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

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、操作数据库

以上是 2、操作数据库 [数据库教程] 的全部内容, 来源链接: utcz.com/z/535201.html

回到顶部