数据表操作是指对关系型数据库中的数据表进行创建、修改、删除等操作的过程。以下是一些常见的数据表操作及其示例:
创建数据表
CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, ..... );
修改数据表
-- 添加列 ALTER TABLE table_name ADD column_name datatype; -- 删除列 ALTER TABLE table_name DROP COLUMN column_name; -- 修改列名和数据类型 ALTER TABLE table_name CHANGE old_column_name new_column_name new_datatype;
删除数据表
DROP TABLE table_name;
克隆数据表
-- 克隆表结构 CREATE TABLE new_tbl LIKE orig_tbl; -- 克隆表结构并拷贝数据 CREATE TABLE new_tbl LIKE orig_tbl; INSERT INTO new_tbl SELECT * FROM orig_tbl;
修改表中数据
-- 更新数据 UPDATE table_name SET column_name = new_value WHERE some_column = some_value; -- 删除数据 DELETE FROM table_name WHERE some_column = some_value;
创建数据表
创建数据表
mysql> CREATE TABLE qiuzhi_test(
查看此数据库所有表
mysql> show tables; 查看此数据库所有表
查看此数据表
mysql> desc qiuzhi_test; 查看此数据表
查看创建此表的配置文件
mysql > show create table sectest; 查看创建此表的配置文件
多表查询
内连接
隐式内连接:select * from emp e1, dept d1 where e1.deptno = d1.deptno;
显示内连接:select * from emp e1 inner join dept d1 on e1.deptno = d1.deptno;
外连接
左外连接
隐式左外连接:select * from emp e1,dept d1 where e1.deptno = d1.deptno(+);
显示左外连接:select * from emp e1 left outer join dept d1 on e1.deptno = d1.deptno;
右外连接
隐式右外连接:select * from emp e1,dept d1 where e1.deptno(+) = d1.deptno;
显示右外连接:select * from emp e1 right outer join dept d1 on e1.deptno = d1.deptno;
全外连接:select * from emp e1 full outer join dept d1 on e1.deptno = d1.deptno;
交叉连接
隐式交叉连接:select * from emp, dept;
显示交叉连接:select * from emp e1 cross join dept d1;
数据列操作
删除列
删除数据
数据操作
数据库数据操作主要包括增加、删除、修改和查询四种类型。以下是每种类型的简要介绍:
1.增加数据:使用INSERT语句向数据库中插入新的数据。例如,下面的SQL语句可以向名为“students”的表中插入一条新的学生记录:
INSERT INTO students (name, age, gender) VALUES ('Tom', 18, 'male');
2.删除数据:使用DELETE语句从数据库中删除数据。例如,下面的SQL语句可以删除名为“students”的表中所有年龄小于18岁的学生记录:
DELETE FROM students WHERE age < 18;
3.修改数据:使用UPDATE语句修改数据库中的数据。例如,下面的SQL语句可以将名为“Tom”的学生的年龄修改为20岁:
UPDATE students SET age = 20 WHERE name = 'Tom';
4.查询数据:使用SELECT语句从数据库中查询数据。例如,下面的SQL语句可以查询名为“students”的表中所有学生的姓名和年龄:
SELECT name, age FROM students;
简单查询
数据库查询操作是指从数据库中检索所需数据的过程。常见的查询操作包括简单查询、条件查询、排序查询、分组查询和分页查询等。以下是一些常见的数据库查询操作及其示例:
简单查询
简单查询是指从数据库中检索所有数据的操作。例如,以下SQL语句将从名为“students”的表中检索所有数据:
SELECT * FROM students;
条件查询
条件查询是指从数据库中检索符合特定条件的数据的操作。例如,以下SQL语句将从名为“students”的表中检索年龄大于18岁的学生数据:
SELECT * FROM students WHERE age > 18;
排序查询
排序查询是指从数据库中检索数据并按照特定顺序排序的操作。例如,以下SQL语句将从名为“students”的表中检索所有数据,并按照年龄从小到大的顺序排序:
SELECT * FROM students ORDER BY age ASC;
分组查询
分组查询是指从数据库中检索数据并按照特定分组方式进行分组的操作。例如,以下SQL语句将从名为“students”的表中检索所有数据,并按照性别进行分组:
SELECT sex, COUNT(*) FROM students GROUP BY sex;
分页查询
分页查询是指从数据库中检索数据并按照特定分页方式进行分页的操作。例如,以下SQL语句将从名为“students”的表中检索第2页的数据,每页显示10条数据:
SELECT * FROM students LIMIT 10 OFFSET 10;
进阶操作
以下是关于分组查询和联合查询的介绍和演示:
分组查询
分组查询是指将数据按照某个字段进行分组,并对每个分组进行聚合操作,例如求和、平均值等。常用的关键字包括GROUP BY和HAVING。
例如,我们有一个学生表,其中包含学生的姓名、班级和成绩三个字段。现在我们想要按照班级对学生进行分组,并计算每个班级的平均成绩,可以使用如下SQL语句:
SELECT class, AVG(score) as avg_score FROM student GROUP BY class;
上述SQL语句中,我们使用了GROUP BY关键字对class字段进行分组,并使用AVG函数计算每个班级的平均成绩。最终的结果将会按照班级分组,并显示每个班级的平均成绩。
联合查询
联合查询是指将多个查询结果合并成一个结果集。常用的关键字包括UNION和UNION ALL。
例如,我们有两个学生表,分别为学生表A和学生表B,其中包含学生的姓名、班级和成绩三个字段。现在我们想要将这两个表的数据合并,并按照成绩进行排序,可以使用如下SQL语句:
SELECT name, class, score FROM student_A UNION SELECT name, class, score FROM student_B ORDER BY score DESC;
上述SQL语句中,我们使用了UNION关键字将学生表A和学生表B的数据合并,并使用ORDER BY关键字按照成绩进行降序排序。最终的结果将会是一个包含所有学生信息的结果集,并按照成绩从高到低排序