(mysql学习笔记8)表的创建、复制,数据的插入、修改、删除

创建表

建表语句的语法格式:

create table 表名(

字段名1 数据类型,

字段名2 数据类型,

字段名3 数据类型,

··· ···

);

mysql中常见的数据类型

int 整数型(java中的int)

bigint 长整型(Java中的long)

float 浮点型(Java中的float double)

char 定长字符串(string)

varchar 可变长字符串(stringbuffer/stringbuilder)

data 日期类型(对应Java中java.sql.Data类型)

BLOB 二进制大对象(存储图片、视频等流媒体信息)Binary Large OBject(对应Java中object)

CLOB 字符大对象(存储较大文本,比如,可以存储4G的字符串)Character Large OBject(对应Java中object)

char和varchar怎么选择

在实际的开发中,当某个字段中的数据长度不发生改变的时候,是定长的,例如:性别,生日等都是采用char

当一个字段的数据长度不确定,例如:简介、姓名等都是采用varchar

表名在数据库中一般建议以:t_ 或者tbl_开始

create创建学生表

学生信息表包括:学号(bigint)、姓名(varchar)、性别(char)、班级编号(varchar)、生日(char)

create table t_student(

   no bigint,

   name varchar(255),

   sex char(1),

   classno varchar(255),

   birth char(10)

    );

image

insert语句插入数据

语法格式:

insert into 表名(字段名1,字段名2,字段名3,···)values(值1,值2,值3,···)

字段的数量要和值的数量相同,并且数据类型要对应相同

字段+values插入

image

insert into t_student(no,name,sex,classno,birth) values(1,'zhangsan','1','gasan1ban','2000-01-01');

image

insert into t_student (name) values ('lisi');//除name这个字段外,剩下的字段自动补NULL

image

drop table if exists t_student;//当这个表存在的话删除

image

create table t_student(

   no bigint,

   name varchar(255),

   sex char(1) default 1,

   classno varchar(255),

   birth char(10)

    );

image

注意:

  • 当一条insert语句执行成功之后,表格当中必然会多一行记录
  • 即是多的这一行记录的那个中的某些字段是NULL,后期也没有办法在执行
  • insert语句插入了数据,只能使用update进行更新了

values插入

//字段可以省略不写,但后面的values对数量和顺序都有要求

insert into t_student values(1,'jack','0','gaosan','1999-08-08');

image

image

一次插入多行数据

insert into t_student

   (no,name,sex,classno,birth)

values

  (3,'rose','1','gaoyi','2002-03-03'),(4,'laotie','1','gaoyi','2003-05-05');

image

表的复制

语法:

create table 表名 as select语句;

将查询结果当做表创建出来

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

insert into dept1 select * from dept;

image

修改数据:update

语法格式:

update 表名 set 字段名1=值1,字段名2=值2,··· where 条件;

没有整张表数据全部更新

将部门10的loc修改为shangbai,将部门名称修改为renshibu

update dept1 set loc = 'shangbai',dname = ' renshibu' where deptno = 10;

image

更新所有记录

update dept1 set loc = 'x',dname='y';

image

删除数据delete

语法格式:

delete from 表名 where 条件;

没有条件的全部删除

删除10部门数据

delete from dept1 where deptno = 10;

image

删除所有记录

delete from dept1;

image

怎么删除大表(重点)

truncate table 表名;//表被截断,不可回滚,永久丢失

 

  • DQL(select) DML(insert delete update) DDL(create drop alter)
  • DQL(select) DML(insert delete update)写入java程序中
  • 增删查改有一个术语:CRUD操作

 create(增)retrieve(检索) update(修改)delete(删除)


版权声明:本文为qq_43791665原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。