7.6 创建新表
create table emp1(
-> empid int not null,
-> sex varchar(30),
-> age int not null,
-> primary key (empid)); —— 该字段列值唯一,"primary key" 表示该列是表的主键, MySQL将自动索引该列
7.7 显示emp1各字段信息
show columns from emp1;
7.7.1 show create table emp; - 显示表emp的创建过程,同样可以查看其内部结构
7.8 向表中插入一条数据:
insert into emp1 values(1,'male',18);
向表中插入多条数据:
insert into emp1 values(1,'female',18),(2,'female',18),(3,'female',18);
7.9 查询表数据:
select * from emp1;
8、修改(alter) 、删除(drop)、update对数据库和表的相关操作
8.1 ALTER:
MariaDB>> ALTER TABLE table_name ...; - 创建表之后,有时我们需要对表的结构进行修改,就用这个作为命令头部
MariaDB>>alter table emp2 rename(as) emp1; - 表重命名
MariaDB>>ALTER TABLE table_name ADD 列名 列数据类型 [AFTER 插入位置]; - 在表中新增一个字段信息
如:
alter table emp1 add name varchar(30) after empid;
MariaDB>>ALTER TABLE table_name CHANGE 列名称 列新名称 新数据类型; - 指定列重命名
如:
alter table emp1 change sex gender varchar(30);
MariaDB>>ALTER TABLE table_name DROP 列名称; - 删除指定列
如:alter table emp1 drop name;
删除主键、添加主键
删除主键:
alter table table_test drop primary key;
增加主键:
alter table table_test add primary key(id);
8.2 删除数据总结:
8.2.1 truncate 清空表的全部数据:
truncate table table_name;
8.2.2 delete 删除表中某一条或者某几条数据
delete delete from emp where age=18;
8.2.3 drop
删除表:drop table table_name;
删除库:drop database database_name;
8.3 DROP:
MariaDB>>DROP TABLE table_name; - 删除指定表
如:drop table emp1;
MariaDB>>DROP DATABASE database_name; - 删除指定数据库
如:
8.4 UPDATE:
update emp set gender='female' where empid=1;
9、数据库表间复制(参考https://www.jb51.net/article/47562.htm)
同一数据库表间复制:
INSERT (INTO) table1 select * from table2; - 完全复制(mysql测试可用)
INSERT (INTO) table1 select distinct * from table2; - 不复制重复纪录(mysql测试不可用)
INSERT (INTO) table1 select top 5 * from table2; - 前五条纪录(mysql测试不可用)
跨数据库表间复制:
INSERT (INTO) (current.)table1 select * from src_database.table2; - 完全复制
INSERT (INTO) (current.)table1 select distinct * from src_database.table2; - 不复制重复纪录
INSERT (INTO) (current.)table1 select top 5 * from src_database.table2; - 前五条纪录
若table1不存在,则首先应该创建表,并使其结构与src_database结构相同方可copy:
CREATE TABLE table1 LIKE (src_database.)table2; - +(src_database.)取决于是否在同一个数据库
INSERT table1 SELECT * FROM (src_database.)table2;
10、多表查询
INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录
LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录
RIGHT JOIN(右连接):与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录
文章引用地址:https://www.cnblogs.com/Glory-D/p/7518541.html、https://www.cnblogs.com/zhchoutai/p/6929103.html、https://blog.csdn.net/qq_37913816/article/details/79424588
、https://blog.csdn.net/wzqzhq/article/details/53283921