向表中添加数据
在表中添加数据时,插入不同数据类型数据的格式不同,因此应严格遵守它们各自的要求,添加的数据按输入顺序保存,条数不限,只受存储空间的显示
INSERT INTO <表名> [ <列名1> [ , … <列名n>] ]
VALUES (值1) [… , (值n) ];
语法说明如下。
<表名>:指定被操作的表名。
<列名>:指定需要插入数据的列名。若向表中的所有列插入数据,则全部的列名均可以省略,直接采用 INSERT<表名>VALUES(…)
VALUES 或 VALUE 子句:该子句包含要插入的数据清单。数据清单中数据的顺序要和列的顺序相对应。
例如,要插入一条数据
INSERT INTO student
(id,name,grade,info)
VALUES(1,'tony',1,'计算机应用');
复制表
在MySQL中,可以使用SQL语句将表结构及数据复制到新表中
create table 新表名 select * from 旧表名;
例如,将student表复制到studbak表中
create table studbak select * from student;
如果只将表结构复制到新表
create table 新表名 select * from 旧表名 where 1=0; //使where 条件不成立
删除表
在MySQL中可以使用drop table 语句删除表
drop table [if exists] 表名1,表名2
在MySQL当中,使用drop table 可以一次删除一个或者多个没有被其他表关联的数据表
参数if exists 用于删除前判断删除的表是否存在,加上该参数后,即使删除的表不存在,SQL语句也可以顺利进行,不会发出警告
例如,删除学生成绩表sc
drop table sc;
思考
MySQL的数据文件有几种?扩展名分别是什么?
答:数据文件有 .frm .myd .myi 3种 其中 .frm是描述表结构的文件, .myd是表数据文件, .myis 是表数据文件的索引
MySQL中有哪几种整形类型?它们占用数据空间分别多少?取值范围分别是什么?
答:
int 4个字节 有符号:-2 31次方 ——2 31次方-1 无符号:0——2 32次方
integer 4个字节 有符号:-2 31次方 ——2 31次方-1 无符号:0——2 32次方
smallint 2个字节 有符号:-2 15次方 ——2 15次方-1 无符号:0——2 16次方
mediumint 3个字节 有符号:-2 23次方 ——2 23次方-1 无符号:0——2 24次方-1
bigint 8个字节 有符号:-2 63次方 ——2 63次方-1 无符号:0——2 64次方
tinyint 1个字节 有符号:-2 7次方 ——2 7次方-1 无符号:0——2 8次方
在定义基本语句时,not null参数的作用是什么?
答:指定的字段不允许为空,如果没有约束条件,则默认为null
主码可以建立在"值可以为null"的列上码?为什么?
答:不能,因为主码不能为空