(mysql)表的创建,插入数据,更新数据

1.建表语句:

建表语句的语法格式	
create table 表名(
	字段名1 数据类型,
	字段名2 数据类型,
	字段名3 数据类型
	...
	);

关于MySQL当中字段的数据类型?一下只是为常见的

int		整数型		(对应java中的int)
bigint	长整形		(对应java中的long)
float	浮点型		(对应java中的float double)
	
double	双精度浮点型

char		定长字符串		(对应java中的String)
varchar	可变长字符串	(对应java中的StringBuffer/StringBuilder)
date 	日期类型		(对应java中的java.sql.Date类型)

BLOB		二进制大对象(存储图片,视频等流量媒体信息)	Binary Large OBject

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


char 和 vachar如何选择?
在实际的开发中,当某个字段中的数据长度不发生改变的时候,是定长的,例如性别,生日等 都是采用char.
当一个字段的数据长度不确定,例如:简介、姓名等都是采用varchar.

BLOL和CLOB类型的使用?
创建一个电影表:t_movie
id(int) name(vachar) playtime(char/date) poster(BLOB) history(CLOB)
------------------------------------------------------------------------------------------------------------------------
1
2

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

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

	create table t_student(
	sno bigint ,
	sname varchar(255) ,
	sex char(1)	,
	cno int,
	bir char 
	);
	+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| sno   | bigint(20)   | YES  |     | NULL    |       |
| sname | varchar(255) | YES  |     | NULL    |       |
| sex   | char(1)      | YES  |     | NULL    |       |
| cno   | int(11)      | YES  |     | NULL    |       |
| bir   | char(1)      | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+

从这个表中可以看到Default ,默认值这一列,如果没有其他指定,默认值都为null

2.删除表格

drop table 表名;

3.insert语句插入数据

语法格式:
	insert into 表名(字段名1,字段名2,字段名3,.....values(1,2,3,...)
	要求:字段的数量和值的数量相同,并且数据类型要对应的相同。
	
	insert into t_student(sno,sname,sex,cno,bir) values(123,'wenhao',m,201901,1);
	+------+--------+------+--------+------+
	| sno  | sname  | sex  | cno    | bir  |
	+------+--------+------+--------+------+
	|  123 | wenhao | m    | 201901 | 1    |
	+------+--------+------+--------+------+

	insert into t_student(sname) values('wangwu');  //这个命令是允许的,除了name字段之外,其他插	入NULL
	+------+--------+------+--------+------+
| sno  | sname  | sex  | cno    | bir  |
+------+--------+------+--------+------+
|  123 | wenhao | m    | 201901 | 1    |
| NULL | wangwu | NULL |   NULL | NULL |
+------+--------+------+--------+------+

drop table if exists t_students; //这个表存在的话删除
 create table t_student(
 sno bigint ,
 sname varchar(255) ,
 sex char(1) default 1,
 cno int,
 bir char(10) 
 );
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| sno   | bigint(20)   | YES  |     | NULL    |       |
| sname | varchar(255) | YES  |     | NULL    |       |
| sex   | char(1)      | YES  |     | 1       |       |
| cno   | int(11)      | YES  |     | NULL    |       |
| bir   | char(10)     | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
这里可以看到改了默认值后,sex的默认值为1

表的复制以及批量插入
语法结构:create table 表名 as select 查询语句;

//将t_newsd  全部复制到 emp1中
create table emp1 as select * from t_newsd;  

//显示emp1表
select * from emp1;
+------+------+------+
| no   | name | bir  |
+------+------+------+
|  123 | wens | 2    |
+------+------+------+

//在emp1中再插入一行数据
insert into emp1 values(536,'liud',3);
+------+------+------+
| no   | name | bir  |
+------+------+------+
|  123 | wens | 2    |
|  567 | lius | 6    |
|  536 | liud | 3    |
+------+------+------+

//将emp1的部分数据复制到表em2中
create table emp2 as select name,bir from emp1;
+------+------+
| name | bir  |
+------+------+
| wens | 2    |
| lius | 6    |
| liud | 3    |
+------+------+

将查询结果插入到某张表中
语法结构:
insert into 表名 select查询语句;

更新数据:update

UPDATE runoob_tbl SET runoob_title=‘学习 C++’ WHERE runoob_id=3;

把runoob_id=3的这行数据 的runoob_title改为 学习C++

删除数据:delete

DELETE FROM runoob_tbl WHERE runoob_id=3;
把把runoob_id=3的这行数据 从runoob_tbl删除

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值