• 2 操作数据库


    操作数据库

    简单操作

    • 创建数据库

    (加入if not ,如果数据库已经存在会警告,不会报错)

    create database if not exists school;
    

    image-20200612151028476

    • 删除数据库
    drop database if exists school;
    
    • 使用数据库
    use school;
    

    ​ 如果字段名和mysql的关键字冲突,可以使用``,当然没有冲突的时候,也可以使用

    select `user` from student;
    
    • 查看数据库
    show databases;
    

    数据库的列类型

    数值

    int 标准的整数 4个字节

    float 浮点数 4个字节

    double 浮点数 8个字节

    decimal 字符串类形式的浮点数,常用在金融计算

    字符串

    varchar 字符串

    text 文本串

    时间

    java.util.Date

    datetime YYYY:MM:DD HH:mm:ss 最常用的时间格式

    timestamp 时间戳 1970.1.1到现在的毫秒数

    数据库的列属性(重点)

    • zerofill

    ​ 0填充,比如int(3),不足的位数用零填充 5->005

    • 自增

    ​ auto_increment

    • not null

    ​ 非空

    • 默认值

      default

    image-20200612153822645

    拓展

    每一个表都要有的五个字段(项目中)

    属性 含义
    id 主键
    version 乐观锁
    is_delete 伪删除
    gmt_create 创建时间
    gmt_update 修改时间

    操作表

    创建表

    -- 创建表student
    -- 注意:表和字段尽量使用``括起来
    -- 自增
    -- 所有语句的后面加 ,除了最后一个不要加
    -- primary 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` DATETIME DEFAULT NULL COMMENT '出生日期',
    	`addres` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
    	`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
    	PRIMARY KEY(`id`)
    )ENGINE=INNODB DEFAULT CHARSET=utf8
    

    关于数据库引擎

    INNODB MYISAM
    使用 默认使用 早些年使用
    事务支持 支持 不支持
    数据行锁定 支持 不支持(表锁定,效率低)
    全文索引 支持(之前版本不支持,现在支持) 支持
    外键约束 支持 不支持
    表空间的大小 较大 较小

    在物理空间存在的位置

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

    本质还是文件存储

    image-20200612162042738

    设置字符编码

    CHARSET=utf8
    

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

    character-set-server=utf8
    

    或者在my.ini中加入上面这句设置编码,但是不建议这样做,因为在项目一起开发的时候,同事的配置文件中可能没有这个。

    修改表

    -- 修改表名
    ALTER TABLE student RENAME AS student1;
    -- 增加表的字段
    ALTER TABLE student ADD t1 INT(11)
    -- 修改表的字段(修改约束) modify
    ALTER TABLE student MODIFY t1 VARCHAR(11)
    -- 修改表的字段(重命名) 需要带上列类型 change
    ALTER TABLE student CHANGE t1 t INT(11)
    -- 删除表的字段
    ALTER TABLE student DROP t
    
  • 相关阅读:
    Day12 文件操作
    Day11 集合、集合操作
    Day10 【小程序】商城管理(购物车小程序的增强版)
    Day8 字符串操作
    Day9 字典操作
    文件操作
    【python练习】购物车程序
    2296 寻找道路
    2661 信息传递(tarjan&拓扑)
    【模板】LCA(tarjan)
  • 原文地址:https://www.cnblogs.com/10134dz/p/13137964.html
Copyright © 2020-2023  润新知