对表的操作
1.创建表,需要先选择要创建的数据库,use 数据库名字,然后用create table 创建表
create table student(id int(3) primary key,name char(10) not null,age int,class int(3) default 7);
创建一个数据表,名字叫student,字段有id号,name,age,class,其中设置id字段为主键,class字段默认值为7
create table +表名(字段1 字段类型 约束条件,字段2 字段类型 约束条件);
定义:字段:也就是表中的列名称;
字段类型:整数型(int),字符串型(char),日期格式型(date)
约束条件:主键约束,外键约束,非空约束,默认值约束,自增长约束
字符类型:
整数型
bigint:正负2的63次方,字节为32位,一般11位以上的数字,选择用bigint,位数较长;
int:一般11位数以下用int,相比bigint,数位较短;
字符串
char:字符串,长度不可变,一般是在命令中char(10)后面的括号里定义长度,传输速度快,但是占据空间(比如,设置的字符串长度为10,但是实际只占用了4,剩下的6位就不会释放,字符长度不变),字符串要加引号
varchar:字符串,长度可变,一般是在varchar(10)后面括号里自定义长度,传输速度慢,节省空间(比如:设置的字节长度为10,但是实际占用4,剩下的6就会自己释放,长度可变),字符串要加引号
日期格式
Date:日期格式,也是字符串格式,和char,varchar类似,定义日期时要加引号,比如:day date default "2021-11-17";
浮点数
float:表示的是浮点数,填入的值可以带小数点;
int(3) int(n)--n表示的是字符的宽度,实际上系统默认的是11位
char(10) char(10)---表示的是实际上字符的长度就是10,超过10,不能写入,系统报错
约束:
primary key:主键约束,一个表格中只要一个主键,输入的字段值不能重复,体现唯一性,而且不能为空(一般id字段号会设置为主键约束,表唯一,身份证号太长)
foreign key:外键约束,主要是在数据库里建立表与表之间的联系,确保数据的完整性;
not null:非空约束,是必填项,即非空。当该行前面有数据时,该字段数据必须填写,即非空
default:默认值约束,比如:default 7;如果有输入自定义值,一般以自定义值优先,若没有,就是默认值
auto_increment:自增长约束,主要是作用在主键上,以“1”为单位增加,这样会避免编辑表格时出现重复或者错误;
2.查看表结构(表字段):desc student;(查看student表字段)
desc +表名(查看表的表字段)
extra(注释,一般auto_increment自增长会显示在该栏中)
3.删除表:drop table +表名;(删除表,不仅是删除数据,表字段,表名等全部删除)
drop table student;(删除student表)
4、修改表名: alter table +表名+rename+修改后的名字
alter table test_001 rename test_002;(把test_001表格的名字修改为test_002)
对表字段的操作
1.添加表字段:alter table+表名+add+字段 字段类型 约束条件;
(1)直接用add,一般系统默认添加在所有字段的最后面,添加单个字段
alter table student add sex int(3) not null;(在student表中,增加sex表字段,表字段类型为整数型,非空约束
添加多个表字段
alter table 表名 add (字段1 字段类型 约束条件,字段2 字段类型 约束条件)
alter table student add (aa int(3) not null,bb int not null);(给student表增加字符段aa和bb)
alter table 表名 add 字段1 字段类型 约束条件,字段2 字段类型 约束条件;
alter table student add aa int not null,bb int not null;(给student增加aa,bb字段)每个字段用一个add,中间用逗号隔开
(2)在特定位置添加字段
first,在首行增加字段
alter table 表名 add 字段名 字段类型 约束条件 first;
alter table student aa int not null first;(在表首位增加aa字段)
after:在某个字段后面添加字段
alter table 表名 add 字段名 字段类型 约束条件 after 字段名;
alter table student add bb int not null after age;(在表中age字段后面添加bb字段)
2.查看表字段:desc 表名
desc student;(查看student的表字段)
3.删除表字段:alter table 表名 drop 字段名;
删除单个表字段:alter table student drop kk;(删除表中kk的字段)
删除多个表字段:alter table student drop kk,drop aa,drop,bb;(同时删除多个表字段,用drop连接,用逗号隔开)
4.修改表字段:alter table 表名 change 原字段名 现表字段名 字段类型 约束条件;
改名: alter table student change id id int(3) not null;(修改表字段id为id)
改名并排在特殊位置,首位:alter table student change id id int not null first;
增加主键的自增长:alter table student change id id int auto_increment;
去掉主键,需要先去除主键上的自增长,然后用drop去除主键,用change去除不了主键
alter table student change id id int not null;(去除主键上的自增长,必须加not null)
alter table student drop primary key;(删除表中的主键)
注意:去除主键的时候,必须先去除自增长,然后用drop 去除主键
去除主键上的自增长时,必须加not null,不然就是默认值为0,自增长不能独立于主键而单独存在,依赖于主键
对表数据的操作
1.表格写入内容命令
(1)所有字段全选
insert into 表名(字段1,字段2,字段3)values(字段1值,字段2值,字段3值);
insert into student(id,name,age) values(1,"张三",18);(在表中写入张三的数据)
insert into student values(1,"张三",18);insert into 表名 values(对应的字段1值,字段2值,字段3值);
(2)写入部分字段值
insert into 表名(字段1,字段2)values(字段1值,字段2值);
insert into student(name,sex)values("zhangsan",0);
(3)同时添加多个数据
insert into 表名(字段1,字段2)values(字段1值,字段2值),(字段1值,字段2值),(字段1值,字段2值);
insert into student(name,sex) valuees("zhangsan",0),("lisi",1),("wangwu",0);
(2)修改数据:update set (分开写)+where句子
update 表名 set 字段名=值 where 字段名=值;
update student set age=25 where name="zhangsan";(把表中名字叫张三的年龄改为25)
update 表名 set 字段=值;(修改表中所有某字段数据)
update student set age=25;(修改表中的所有年龄为25)
3.删除数据:delete from 表名 where 字段=值;(删除表中某个值得整行数据)
delete from student where name="zhangsan";(删除表中名字叫张三的整行数据)
比较:delete from 表名:只是删除表的数据,但是表名,表字段还在,而且删除的数据可以回滚,重新写入时,编号为自增编号,可能编号会从中间开始;
truncate:truncate 表名,删除数据,但是不会删除表名,表字段,数据不会回滚,重新写入时,编号从1开始;
drop table 表名:不仅删除数据,还会删除表名,表字段
4.查询表数据:select 字段 from 表名
(1)select * from student;(查看表中的所有数据)
(2)select name,sex from student;(查看表中的name,sex字段数据)
(3)select 字段名 from 表名 where 字段=值;
select name from student where id=5;
|
|