美文网首页
③MySQL之DML(数据操作语言)、DDL(数据定义语言)

③MySQL之DML(数据操作语言)、DDL(数据定义语言)

作者: SimonLike | 来源:发表于2021-09-07 08:27 被阅读0次

    1,创建表

    1.1,建表语句:
    create table 表名(
        字段名1 数据类型,
        字段名2 数据类型,
        字段名3 数据类型,
        ...
    );
    
    1.2,关于MySQL当中字段的数据类型,常见的
    int         整数型     (java中的int)
    bigint      长整形 (java中的long)
    float       浮点型 (java中的float double)
    char        定长字符串   (String)
    varchar     可变长字符串  (StringBuffer/StringBuilder)        
    date        日期类型    (java中的java.sql.Date类型)
    BLOB        二进制大对象(存储图片、视频等流媒体信息)Binary Large Object (java中的object)
    CLOB        字符大对象(存储较大文本,比如:存储4G的字符串。)Character Large Object (java中的object)
    
    char和varchar怎么选择
        在实际开发中,当某个字段中的数据长度不发生改变的时候,是定长的采用char。例如:性别、生日等。
        当一个字段的数据长度不确定时采用varchar。例如:简介、昵称等。
    
    1.3,创建学生表:
    学生信息包括:
        学号:bigint
        姓名:varchar
        性别:char
        班级编号:int
        生日:char
    
    create table t_student(
        no bigint,
        name varchar(255),
        sex char(1),
        classno int,
        birth char(10)
    );
    

    2,删除表:

    删除语句(当这个表存在的话删除):drop table if exists 表名;
    
    删除t_student表
        mysql> drop table if exists t_student;
    
    重新创建t_student表,default设置默认值
        create table t_student(
            no bigint,
            name varchar(255),
            sex char(1) default 1,
            classno int,
            birth char(10)
        );  
    

    3,insert语言插入数据

    语法格式:insert into 表名(字段名1,字段名2,字段名3,...) values(值1,值2,值3,...);
    要求:字段的数量和值的数量相同,并且数据类型要对应相同。
        mysql> insert into t_student(no,name,sex,classno,birth) values(123,'jack','1',12,'2020-05-09'); 
    改变字段顺序不会影响数据的插入
        mysql> insert into t_student(name,sex,classno,birth,no) values('kitty','1',12,'2021-05-09',124); 
    缺少字段也不会影响数据的插入,剩下其他字段会自动插入NULL
        mysql> insert into t_student(name) values('simon'); 
    
    注意:当一条insert语句执行成功之后,表格当中必然会插入一行记录,即使这行记录中某些字段是NULL,
         后期也没法再执行insert语句对这行记录插入数据了,只能使用update进行更新。
    
    字段可以省略不写,但是后面的values对数量和顺序都要按表设计的字段进行赋值插入。
        mysql> insert into t_student values(123,'jack','1',12,'2020-05-09'); 
    
    一次插入多行数据
        mysql> insert into t_student values(126,'jack1','2',13,'2020-05-09'),(126,'jack2','2',13,'2020-09-09'),(127,'jack3','1',13,'2020-02-09'); 
    

    4,表的复制

    语法结构:create table 表名 as select语句; 将查询结果当做表创建出来。
    
    复制t_student表的记录到t_student2表中
        mysql> create table t_student2 as select * from t_student;
    复制dept表的记录到dept1表中
        mysql> create table dept1 as select * from dept;
    

    5,将查询结果插入到一张表中

    语法结构:insert into 表名 select语句; 将查询结果插入到一张表中
    
    将t_student表的记录查询出来,插入到t_student2表中
        mysql> insert into t_student2 select * from t_student;
    

    6,修改数据

    语法结构:update 表名 set 字段名1=值1,字段名2=值2...where 条件;
    注意:没有条件整张表数据全部更新。
    
    将部门10的LOC修改为:SHANGHAI,将部门名称修改为RENSHIBU
        mysql> update dept1 set loc = 'SHANGHAI',dname = 'RENSHIBU' where deptno = 10;
    

    7,删除数据

    语法结构:delete from 表名 where 条件;
    注意:没有条件整张表数据全部删除。
    
    删除no是123的学生
        mysql> delete from t_student2 where no = 123;
    删除所有数据
        mysql> delete from t_student2;
    怎么删除大表(truncate table 表名; 表被截断,不可回滚,数据永久丢失)
        truncate table dept1;
    

    8,给表文件添加字段

    语法结构:alter table 表名 add 新字段名 数据类型;
    

    9,删除表文件字段

    语法结构:alter table 表名 drop 字段名;
    

    上篇:②MySQL之DQL数据查询语言二
    下篇:④MySQL之约束一

    相关文章

      网友评论

          本文标题:③MySQL之DML(数据操作语言)、DDL(数据定义语言)

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