Java全栈课程之MySQL数据库——操作数据库

一、操作数据库

        1.创建数据库

create database [if not exists] 数据库名

        2.删除数据库

drop database [if exists] 数据库名

        3.使用数据库

use 数据库名

        4.查看数据库

show databases

二、数据库的列类型

        1.数值型

tinyint十分小的数据1个字节
smallint较小的数据2个字节
mediamint中等大小的数据3个字符
int标准大小的字符4个字节
big较大的数据8个字节
float浮点型4个字节
double浮点型8个字节
decimal字符串形式的浮点型金融计算

        2.字符串

char字符串固定大小0~255
varchar可变字符串0~65535
tingteext微型文本2^8-1
text文本串2^16-1

        3.时间日期

dataYYY-MM-DD日期格式
timeHH:mm:SS时间格式
datatimeYYYY-MM-DD HH:mm:ss
timestamp时间戳1970.1.1开始的毫秒数
year年份表示

         4.null

                没有值,未知

                注意:不要使用null进行计算,结果为null。

三、数据库的字段属性

        1.unsigned:

                (1)无符号的整数

                (2)不能声明为负数

        2.zerofill:

                (1)0填充的

                (2)不足的位数用0来填充 例:int(3)  5→005

        3.自增:

                (1)通常理解为自增,自动在上一条记录的基础上+1(默认)

                (2)通常用来设计唯一的主键,必须为整数

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

        4.非空 null not null:

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

        5.默认:

                设置默认的值

                sex 默认值为男,如果不指定该列的值,则会有默认的值

        6.拓展

                每一个表都有必须存在以下五个字段

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

四、创建数据库表

        格式:

                create table [if not exists] `表名`(

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

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

                        ……

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

                ) [表类型] [字符集设置] [注释]

        例:创建一个student表,学号、姓名、密码、性别、出生日期、家庭住址、Emil

        注意点:

        1.使用英文(),表的名称和字段尽量使用``括起来

        2.AUTO_INCREMENT自增

        3.字符串使用单引号括起来

        4.所有的语句后面加,(英文的)最后一个不用加

        5.PRIMAPY KEY主键,一般一个表只有一个唯一的主键

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'123456' comment '密码',
    `sex` varchar(2) not null default'女' comment '性别',
    `birthday` datatime default null comment '出生日期',
    `address` varchar(100) default null comment '家庭住址',
    `emil` varchar(50) default null comment '邮箱',
    PRIMARY KEY(`id`)
    )ENGINE=INNODB DEFAULT CHARSET=utf8
    

五、数据表的类型

        1.关于数据库的引擎

MYISAMINNODB
早些年使用默认使用
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表空间的大小较小较大约为2倍

        2.常规使用操作

                (1)MYISAM节约空间,速度较快

                (2)INNODB按全性高,事务的处理,多表多用户操作

                (3)在物理空间存在的位置:所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库,本质还是文件的存储!

        3.MySQL引擎在物理文件上党的区别:

                (1)InnoDB在数据库中只有一个*.frm文件,以及上级目录下的ibdatal文件。

                (2)MYISAM对应文件

                                *.frm                表结构定义文件

                                *.myd               数据文件(data)

                                *.myi                索引文件(index)

        3.设置数据表的字符集编码

        charset=utf8

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

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

        在my.ini中配置默认的编码:character-set-server=utf8

六、修改删除数据表

        1.修改

                (1)修改表名:alter table 旧表名 rename as 新表明

alter table teacher rename as teacher1;

                (2)增加表的字段:alter table 表名 add 字段名 列属性

alter table teacher add age int(11);

                (3)修改表的字段(重命名、修改约束)

                        alter table 表名 change 旧名字 新名字 列属性[];

alter table teacher change age age1 int(1)

                        alter table 表名 modify 字段名 列属性[];

alter table teacher modify age varchar(11);

        2.删除

                (1)删除表(如果存在再删除)

  drop table if exists teacher1;

                (2)删除表的字段

alter table teacher drop age1;

所有的创建和删除尽量加上判断语句以免报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小孙同学1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值