04_mysq数据表的创建(CREATE)、插入(INSERT INTO)、查询(SELECT)、更新(UPDATE)、修改(ALTER)、删除(DELETE)、截断(TRUNCATE)
数据表查询
1、创建 --创建数据库、表、索引、视图
CERATE [table table_name | index index_name | view view_name] ;
①cerate table stu_tb(
id int,
name varchar(20),
class char(20),
PRIMARY KEY(id)
); --创建数据表

2、插入 --用于在指定表中插入记录
INSERT INTO table_name (col1, col2, ....) VALUES (val1, val2,....);
① insert into stu_tb (id, name, class) values (1, '张三', '大班’); --单行插入

② INSERT INTO stu_tb (id, name, class) VALUES (2, '李四', '中班'),(3, '王五', '大班'); -- 多行插入

③INSERT INOT tb_name1 SELECT col1,col2... FROM tb_name2 [WHERE condition] [ORDER BY col] [LIMIT N] ; --f选择tb2数据复制插入tb1
3、查询--用于查询mysql数据表中数据
SELECT col1, col2,...
FROM tabble_name
[WHERE condition] --用于指定过滤条件,只返回符合条件的行(WHERE 子句中,可以使用各种条件运算符(如 =, <, >, <=, >=, !=),逻辑运算符(如 AND, OR, NOT),以及通配符(如 %))
[ORDER BY col_name [ASC | DESC]] --用于指定结果集的排序顺序(默认ASC升序)
[LIMIT number];
① SELECT * FROM stu_tb; -- 查询所以列数据

② SELECT * FROM stu_tb LIMIT 2; --限制查询前2行数据
③ SELECT name, class FROM stu_tb WHERE age=6; --查询age=6的名字和班级

④SELECT * FROM stu_tb ORDER BY age; --对age升序查询

⑤ SELECT * FROM stu_tb WHERE age >5 AND class = 'big'; --多条件查询

⑥ SELECT * FROM stu_tb WHERE name LIKE 'z%' ; --模糊查询

⑦ SELECT COUNT(*) FROM stu_tb;--聚合查询(统计行数)

⑧ SELECT COUNT(*) age_cnt FROM stu_tb WHERE age=5; --聚合查询并设置WHERE条件(统计年龄5岁的学生个数)

⑨ SELECT AVG(age) age_avg FROM stu_tb WHERE class='mid'--聚合AVG()函数统计中班的平均年龄,还可以使用MAX()、MIN()、SUM()等函数

10 :SELECT class,COUNT(*) cnt FROM stu_tb GRUOP BY class; --使用聚合分组功能统计中、大班的学生人数(先分组再统计个数)

11:SELECT class, age, COUNT(*) FROM stu_tb GROUP BY class,age;--多条件聚合分组查询(按年级、年龄分组统计)或者用在班级男女统计

12:SELECT * FROM stu_tb, cust_copy; --多表查询,返回列数等于两表之和,行数为两表乘积;

13:select s.id sid, s.name sname, c.id cid, c.name cname FROM stu_tb s,cust_copy c;--多表查询,使用表名.列名这样的方式来引用列和设置别名


14:JOIN 连接查询
3、更新--用于修改指定表中的现有记录(修改表数据)
UPDATE table_name SET col = val, col1=val1,....WHERE condition;
① UPDATE stu_tb SET class = '中班' WHERE id = 1;

4、修改 --ALTER 查询 可用于在现有表中添加、删除或修改列(修改表结构)
①ALTER TABLE table_name [ADD | DROP] COLUMN column_name datatype; --添加或删除列
ALTER TABLE stu_tb ADD COLUMN age int;

②ALTER TABLE tb_name CHANGE COLUMN old_col_name new_col_name datatype; --修改列名
ALTER TABLE stu_tb CHANGE COLUMN id id_sn INT AUTO_INCREMENT;

③ ALTER TABLE tb_name MODIFY COLUMN col_name new_datatype; --修改列类型
ALTER TABLE stu_tb MODIFY COLUMN class VARCHAR(10);

④ ALTER TABLE tb_name ADD PRIMARY KEY (col_name); -- 添加列为主键
ALTER TABLE stu_tb ADD PRIMARY KEY (id);
⑤ALTER TABLE tb_name RENAME TO tb_name_new;
5、删除--用于删除指定表中的现有记录
DELETE FROM table_name WHERE condition;
① delete from stu_tb where id = 1;

6、替换--用于替换表中现有记录,不要删除,INSERT需要先查找,存在需要先删除在更新
REPLACE INTO tb_name (col1, col2,...) VALUES (val1,val2,...);
7、截断表--用于删除所有记录,但不能删除表本身
TRUNCATE [TABLE] table_name;
① TRUNACTE TABLE stu_tb; --清空表


浙公网安备 33010602011771号