1、创建表
建表语句的语法格式:
create table 表名{
字段1 数据类型,
字段2 数据类型,
字段3 数据类型,
...
};
(1)关于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
CLOB 字符大对象(存储较大文本,比如,可以存储4G的字符串)Character Large Object
(2)char 和 varhar怎么选择?
在实际开发中,
当某个字段中的数据长度不发生改变的时候,是定长的,例如:性别,生日等都是采用char
当一个字段的数据长度不确定,例如:例如简介、姓名都是采用varchar.
(3)表名在数据库当中一般建议以:t_或者tbl_开始
案例: 创建学生表
学生信息包括:
学号、姓名、性别、班级编号、生日
学号:bigint
姓名:varchar
性别:char
班级编号:varchar
生日:char
create table t_student(
no bigint,
name varchar(255),
sex char(1),
classno varchar(255),
birth char(10));
2、插入数据(insert)
语法格式:
insert into 表名(字段名1,字段名2,字段名3....) values(值1,值2,值3...)
要求:字段数量和值的数量相同,并且数据类型对应相同
insert into t_student(no,name,sex,classno,birth) values(1,'Sohera','1','highg3c1','2012-1-6');
insert into t_student(name,no,sex,classno,birth) values('Sohera',1,'1','highg3c1','2012-1-6'); //顺序可以随意,但要一一对应
insert into t_student(name) values('wangwu');//可以指定字段,未指定字段为null
(1)设置默认值
drop table if exists t_student;//当这个表存在的话删除
create table t_student(
no bigint,
name varchar(255),
sex char(1) default 1,
classno varchar(255),
birth char(10)
);
(2)省略字段
//字段可以省略不写,但是后面的value对数量和顺序都有要求(此时不能缺字段)
insert into t_student values(2,'zhangsan','0','h32','1999-11-09');
(3)一次插入多行数据
insert into t_student
(name,no,sex,classno,birth)
values
('Sohera',1,'1','highg3c1','2012-1-6'),('laote',4,'2','high2c3','2015-01-16');
3、表的复制
语法:
create table 表名 as select语句;
将查询结果当作表创建出来
create table emp1 as select * from emp;
4、将查询结果输入一张表中
insert into dept1 select * from dept;
5、修改表中数据(update)
语法格式:
update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3...where 条件
注意:没有条件整张表数据全部更新。
案例:将部门10的LOC修改为SHANGHAI,将部门名称修改为RENSHIBU
update dept1 set LOC = 'SHANGHAI',DNAME='RENSHIBU' where deptno=10;
6、删除数据(delete)
语法格式:
delete from 表名 where 条件;
注意:没有条件全部删除
删除编号为10的部门的数据?
delete from dept1 where deptno =10;
删除所有记录
delete from dept1;
怎么删除大表中的数据?(重点)
truncate table 表名;表被截断,不可回滚,慎重!!
删表?
drop table 表名;//标准SQL语言
drop table if exists 表名;//只适用于MySQL
参考:动力节点数据库课程