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删除