数据库07创建表,增

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

);
关于MYSQL当中常见字段的数据类型:
int 整数型
bigint 长整型(java中的long)
float 浮点型
char 定长字符串
varchar 可变长字符串
date 日期类型
BLOB 二进制大对象(存储图片,视频等流媒体信息)
CLOB 字符大对象(存储较大文本,比如4g的字符串)
。。。。

char,varchar区别:
在实际开发中,当某个字段的数据长度不变,例如:性别,生日等采用char。
当一个字段的数据长度不确定,例如:简介,姓名等用varchar。

BLOB,CLOB类型的使用:
电影表:t_movie
id(int) name(varchar) playtime(date/char)   haibao(BLOB) history(CLOB)
表名在数据库中一般建议:t_或者tbl_开始。

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

create table t_student(
	no bigint,
	name varchar(255),
	sex char(1),
	classno varchar(255),
	birth char(10)
);

先要创数据库,数据库01中有创建数据库代码。
cmd->mysql -uroot -p密码->use 数据库名;->show tables;->desc t_student;(展示表的信息)

+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| no      | bigint       | YES  |     | NULL    |       |
| name    | varchar(255) | YES  |     | NULL    |       |
| sex     | char(1)      | YES  |     | NULL    |       |
| classno | varchar(255) | YES  |     | NULL    |       |
| birth   | char(10)     | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+

insert语句插入数据,增
语法格式:insert into 表名(字段名, ,) values(值, ,)
要求:字段的数量和值的数量相同,并且数据类型要对应。
insert into t_student(no,name,sex,classno,birth) values(1,‘zs’,‘1’,‘gaosan1ban’,‘2021-2-4’);

mysql> select * from t_student;

+------+------+------+------------+----------+
| no   | name | sex  | classno    | birth    |
+------+------+------+------------+----------+
|    1 | zs   | 1    | gaosan1ban | 2021-2-4 |
+------+------+------+------------+----------+

insert into t_student(no,name,sex,classno,birth) values(2,‘ls’,‘1’,‘gaosan1ban’,‘2021-2-4’);

insert into t_student(name) values(‘wangwu’);//除name字段之外,剩下的所有字段自动插入NULL。

mysql> select * from t_student;
+------+--------+------+------------+----------+
| no   | name   | sex  | classno    | birth    |
+------+--------+------+------------+----------+
|    1 | zs     | 1    | gaosan1ban | 2021-2-4 |
|    3 | ls     | 1    | gaosan1ban | 2021-2-4 |
|    2 | zl     | 1    | gaosan1ban | 2021-2-4 |
| NULL | wangwu | NULL | NULL       | NULL     |
+------+--------+------+------------+----------+

drop table if exists t_student;//当这个表存在的话删除
default:添加默认值

drop table if exists t_student;
create table t_student(
	no bigint,
	name varchar(255),
	sex char(1) default 1, //默认值为1,在cmd中不能写这个标注要去掉
	classno varchar(255),
	birth char(10)
);
mysql> desc t_student;
+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| no      | bigint       | YES  |     | NULL    |       |
| name    | varchar(255) | YES  |     | NULL    |       |
| sex     | char(1)      | YES  |     | 1       |       |
| classno | varchar(255) | YES  |     | NULL    |       |
| birth   | char(10)     | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+

插入数据后就会有默认值

mysql> insert into t_student(name) values('zs');
Query OK, 1 row affected (0.00 sec)

mysql> select * from t_student;
+------+------+------+---------+-------+
| no   | name | sex  | classno | birth |
+------+------+------+---------+-------+
| NULL | zs   | 1    | NULL    | NULL  |
+------+------+------+---------+-------+

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

插入数据其他方式:字段可不写,但是后面要对应
insert into t_student values(1,‘jack’,‘0’,‘gaosan2ban’,‘2021-2-5’);

mysql> insert into t_student values(1,'jack','0','gaosan2ban','2021-2-5');
Query OK, 1 row affected (0.00 sec)

mysql> select * from t_student;
+------+------+------+------------+----------+
| no   | name | sex  | classno    | birth    |
+------+------+------+------------+----------+
| NULL | zs   | 1    | NULL       | NULL     |
|    1 | jack | 0    | gaosan2ban | 2021-2-5 |
+------+------+------+------------+----------+

一行插入多行数据:
insert into t_student(no,name,sex,classno,birth) values(2,‘rose’,‘1’,‘gs2b’,‘2021-2-5’),(3,‘abc’,‘1’,‘gs2b’,‘2021-2-5’);

mysql> insert into t_student(no,name,sex,classno,birth) values(2,'rose','1','gs2b','2021-2-5'),(3,'abc','1','gs2b','2021-2-5');
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from t_student;
+------+------+------+------------+----------+
| no   | name | sex  | classno    | birth    |
+------+------+------+------------+----------+
| NULL | zs   | 1    | NULL       | NULL     |
|    1 | jack | 0    | gaosan2ban | 2021-2-5 |
|    2 | rose | 1    | gs2b       | 2021-2-5 |
|    3 | abc  | 1    | gs2b       | 2021-2-5 |
+------+------+------+------------+----------+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值