美文网首页
MySQL_study

MySQL_study

作者: 刘璐_95d7 | 来源:发表于2019-11-27 10:49 被阅读0次

    MySQL

    简单命令

    --链接数据库(终端)

    mysql -u root -p mysql
    

    -- 退出数据库

    exit
    

    -- 查看创建数据库

    show databases ; # 必须要有s
    

    -- 查看当前正在使用的数据库

    select database();  #null指的是空
    

    -- 使用某个数据库

    use jingdong;
    

    注意:sql语句最后需要有分号;结尾

    -- 显示数据库版本

    select version();
    

    -- 显示时间

    select now
    

    -- 创建数据库

    create database demo;
    

    -- 指定字符集(默认不是utf-8)

    create database demo charset = utf-8;
    

    -- 查看数据库的创建语句

    show create database demo;
    

    -- 删除数据库

    drop database demo;
    

    数据表的操作

    创建表

    -- 查看当前数据库中的所有表

    show tables;
    

    -- 创建表

    • **unsigned 没有符号, 没有负数 **
    • auto_increment表示自动增长
    • age不要用int,int是43亿,tinyint是-129--127
    • 创建一个学生的数据表(id、name、age、high、gender、cls_id)
    • create table 数据表名字 (字段 类型 约束[, 字段 类型 约束]);
    • 多个约束 不分先后顺序
    • enum 表示枚举
    • 最后一个字段不要添加逗号
    • 默认从1开始, 枚举值(1,2,3)和原始值('男','女',)在使用上是等价的
    create table students (字段名 字段类型 字段约束);
    
    create table students (
        id int unsigned primary key auto_increment,
        name varchar(15) not null,
        age tinyint unsigned default 0,
        high decimal(5,2) default 0.0,
        gender enum('男','女','中性','保密') default '保密', 
        cls_id int unsigned not null
    );
    

    -- 查看表的创建语句

    show create table students;
    

    -- 查看表结构

    desc students
    

    -- 查看表内容

    select * from classes;
    

    -- 修改表结构 alter add/modify()/change(修改字段名字和类型)

    -- 修改表-添加字段

    -- alter table 表名 add 列名 类型/约束;
    -- 生日信息

    alter table students add birthday datetime default "2011-11-11 11:11:11";
    

    -- 修改表-修改字段:不重命名版
    -- alter table 表名 modify 列名 类型及约束;

    alter table students modify birthday date default "2011-11-11";
    

    -- 修改表-修改字段:重命名版
    -- alter table 表名 change 原列名 新列名 类型及约束;

    alter table students change birthday birth date default "2011-11-11";
    

    -- 修改表,删除字段

    drop table students
    

    数据增删改查(curd)

    1、增加insert 的三种方式

    1.1 全列插入,值和表的字段顺序一一对应

    insert [into] 表名 values (值1,值2,...)
    

    ​ 我认为进行插入之前最好看一下目前表的内容和表结构

    ​ -- 查看表内容

    select * from students
    

    ​ -- 查看表结构

    desc students
    

    全列插入在实际中用的不多 ,一旦表结构发生变化,全列插入就会报错。

    [图片上传失败...(image-3b392d-1574822954324)]

    # 小括号有且只能有六个值,id是自动递增的,可以不用管它,但是不管并不是说空着不写,可以使用占位符,只有主键字段才有占位符的概念 0,default, NULL
    insert into students values (0, '小乔', 18, 188.00, '女', 2);
    insert into students values (0,'小乔', 18, 180.00, '女'); # 错误
    insert into students values (default,'大乔', 19, 180.00, '女',2);
    

    1.2 指定列插入,值和列一一对应

     insert into 表名 (列1,...) values(值1,...)
    

    [图片上传失败...(image-7c5aba-1574822954324)]

    insert into students (name, high, gender) values(“张飞”, 190, "保密")
    # 报错了 Field 'cls_id' doesn't have a default value
    #  cls_id不能为空,而且我们没有给他加上默认值
    insert into students (name, high, gender, cls_id) values(“张飞”, 190, "保密", 1)
    

    相关文章

      网友评论

          本文标题:MySQL_study

          本文链接:https://www.haomeiwen.com/subject/iptpwctx.html