对表进行整体操作:
1.查看当前数据库有哪些表
show tables;
2.创建一个表
creat table 表名(表题 类型,表题 类型.......);
比如我们要创建一个:
那么就写:
create table student(
num int(6),
name varchar(10),
sex varchar(2),
age int,
schooldate date);
注意:这里int可以不注明长度,默认11位,但是varchar必须指定长度
3.查询表中的数据:
select * from 表名;
4.查看一个表的结构:
desc 表名;
5.删除一张表:
drop table 表名;
6.数据中double 长度控制可以两个,总长度和小数位数:double(5,2),表示总长度为5,小数位数是2
--------------------------------------------------------------------------------------------------------------------------------------
对表的结构进行修改:
1.增加字段
比如我们需要在student表中添加一个班级
alter table student add class varchar(8);
那么表就:
2.修改类型:
alter table student modify class int;
那么class的类型就变成了int
3.删除表题:
alter table student drop class;
就删除类class这个表题
---------------------------------------------------------------------------------------------------------------------------------------------------
对表的数据进行操作
1.增加数据:
insert into student(num,name,sex,age,schooldate) values(6430,'Mason','M',20,'2017-9-11');
这里我们增加了一个数据,那么我们查询数据的时候:
注意:字符串和时间类型的数据插入需要加引号
也可以不用写前面的表题,只写数据:
insert into student values(6430,'Mason','M',20,'2017-9-11');
但是数据必须不能少,一一与表题对应
2.删除数据
我们要删除Tom这条数据
delete from student where name='Tom';
然后:
注意:如果要删除所有记录那么就直接:
delete from student;
3.修改数据
update student set sex='f';
这样就把所有的sex都变成了f
只改一处:
update student set sex='m' where name='Mason';
也是用where筛选,后面可以写多个表达式,逗号连接
----------------------------------------------------------------------------------------------------------------------------------------------
表的数据约束:
1.唯一约束 unique
create table tea(name varchar(11),num int unique);
在创建表的时候在对应的表题后面加上一个unique,这样我们的num就保证了单一性,不能出现num一样的数据
并且发现num的Key有了UNI,这个就是表示有了约束
2.非空约束 not null
create table tea(name varchar(11) not null,num int);
这样name数据不能为空:
我们发现name的Null变成了NO
3.主键约束(primary key)唯一且不能为空
create table tea(name varchar(11) unique not null,num int);
key变成了PRI,其实我们可以直接这样创建:
create table tea(name varchar(11) primary key,num int);
4.外键约束 foreign key
比如我们有两张表,其中一张的一个数据被另一张表的数据所约束,这样的情况我们就需要外键约束
首先创建一个班级表:
create table class(num int primary key auto_increment,name varchar(11));
将num设置成主键制约。然后创建学生:
create table stu(num int primary key auto_increment,name varchar(11),classnum int,
foreign key(classnum) references class(num));
后面这句话的意思是外键classnum受class里面的num制约,表示我们插入stu数据的时候classnum必须在num中存在
注意外键的对象必须在另一个表中是主键制约
5.主键自动增长 auto_increment
create table tea(name varchar(11),num int primary key auto_increment);
然后插入数据:
insert into tea(name) values('Mason');
然后出现:
这里的num是自动帮我们加上去的
注意:自动增长对字符串不能用