新建测试数据库:create database test_cour; 选择数据库:use 数据库名; 查看数据表:show tables; 创建数据表里面的字段(列)名:
create table 表名(
//列名 字符格式 约束
//注意末尾加逗号,最后一列末尾除外
uid int(32) primary key auto_increment,
//primary key 定义这个字段为主键。
//auto_increment 定义这个字段为自动增长,即如果INSERT时不赋值,则自动加1
uname varchar(32) ,
upassword varchar(32)
);
查看表结构:desc user; 写入内容在数据表中:insert into user(表名)values(‘1’,‘adc’,‘root’); 查看数据表数据:select * from 表名; 因为我的uid已经有自增的属性,也可以这样不填入内容 insert into user values(null,‘def’,‘admin’); 再新建一个数据表:student 注:not null 不允许为空;comment是备注信息。 利用:show full columns from student;查看表的整体情况它可以查看到字段的备注信息 向student表填入数据:insert into 表名 (‘字段1内容’,‘字段2内容’,‘字段3内容’); ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200103233746215.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAyMjM3NA==,size_16,color_FFFFFF,t_70)
跨表查询
select 表1列名,表2列名 from 表1,表2 where 条件; lg:select uname,sname from user,student where uid=1 and sid=2; 利用join来联合多表查询 inner join:代表选择的是两个表的交集部分。 left join:代表选择的是前面一个表的全部,即使右表没有对应匹配的记录,右表不足的地方用NULL填充 right join:代表选择的是后面一个表的全部,即使左表没有对应匹配的记录,左表不足的地方用NULL填充 插入一些新的数据在两个表中,以便区分这三个查询。 select 表1列名,表2列名 from 表1 inner/left/right join 表2 on 条件; lg:select uname,sname from user inner join student on uid=sid; lg:select uname,sname from user left join student on uid=sid; lg:select uname,sname from user right join student on uid=sid;
跨库查询
其实和跨表查询差不多就在数据表前面加上数据库名 再新建一个数据库,数据库里面新建数据表,表里填入数据。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200104005534336.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAyMjM3NA==,size_16,color_FFFFFF,t_70)
select * from 数据库1.表1,数据库2.表2 where 条件; lg: select * from test1_cour.username,test_cour.user where nid=uid; 2.利用join来联合多表查询。只举一例。和上面相差不远 select * from 数据库名1.数据表名1 inner join 数据库名2.数据表名2 on uid=nid; lg:select * from test_cour.user inner join test1_cour.username on uid=nid;
|