上面是对表的增删改查命令
这个是对库(包)的基本操作,实际上这个时候你是处于dbms数据库管理系统层面,也可以用datagrip,datagrip本质上就是把数据库管理系统sql语句变成图形化点击操作,都差不多
我的理解是数据库就是python中的库也就是包,表就是模块也就是类,字段就是属性,可能不太严谨
三、表操作,对类本身和类属性的操作
创建数据库表:
创建一个表名为:employee,该表中含有id、name、sex、birthday、job字段,所谓字段,也就是类属性
create table employee(
id int,
name varchar(40),
sex char(4),
birthday date,
job varchar(100)
);
表中增加image字段:
alter table employee add image blob;
blob类型就是不管你啥子东西都以二进制文件存储 的数据类型
MySQL中的BLOB类型_mysql blob-CSDN博客
修改job值,使其长度为60(原长度为100):
alter table employee modify job varchar(60);
删除sex列:
alter table employee drop sex;
表名改为user(原名employee):
rename table employee to user;
修改表的字符集为utf-8:
alter table user character set utf8;
列名改为username:
alter table user change 列明 username varchar(100);
改列明就是改属性名,这个要加新数据类型,但是只改表名不用,
四、实例
1、准备表
create table employee(
id int,
name varchar(40),
sex varchar(4),
birthday date,
entry_date date,
salary decimal(8,2),
resum text
);
2、插入数据
insert into employee(id,name,sex,birthday,entry_date,salary,resum)
values(1,'zhangsan','male','1993-03-04','2016-11-10','1000','i am a developer');
制定某些列插入数据:
insert into employee(id) values(6);
插入汉字:
insert into employee(id,name) values(6,'张三');
就是添加的数据对象可以有些属性是默认值null
3、修改表数据,
所有员工薪水修改为5000元:
update employee set salary=5000;
这个是一下子修改所有数据对象的这个属性的值
将姓名为‘zhangsan’的员工薪水修改为3000元:
update employee set salary=3000 where name='zhangsan';
where就是通过这个表或者类的某个属性的某个值来指定哪些行,也就是指定哪些数据实例对象
将姓名为‘aaa’的员工薪水修改为4000元,job修改为ccc:
修改可以一下子改某些对象的多个属性
update employee set salary=4000,job='ccc' where name='aaa';
将‘wu’的薪水在原有基础上增加1000元:
update employee set salary=salary+1000 where name='wu';
4、删除表数据
删除表中名称为‘zhangsan’的记录:
delete from employee where job='zhangsan';
删除表中所有记录(对象):
delete from employee;
使用truncate删除表中记录:
truncate table employee;
delete from 表名 无法删除某个数据对象的某个属性字段,只能用update把属性字段值设置为null
这俩是直接删除这个表里所有数据对象,还可以drop table 表名,直接连表都不剩了
5、查询表数据
查询表中所有学生某些信息
select id,name,chinese,english,math from student;
查询表中所有学生的姓名和对应的英语成绩:
select name,english from student;
查询姓名为wu的学生成绩:
select * from student where name='wu';
查询英语成绩大于90分的同学:
select name from student where english>'90';
查询英语分数在80-90之间的同学:
select * from student where english>=80 and english<=90;
五、常见的MySQL语句命令
create database if not exists wocao charset utf8 collate utf8_general_ci;
create database if not exists wocao charset =utf8 collate utf8_general_ci;
这俩好像一样的
六、常见MySQL字段含义
七,总结:
mysql操作:
对库的操作,也就是在DBMS或者datagrip上对包的操作
对表的操作,也就是在某个特定包里对类及其属性的操作
对对象数据的操作,也就是在包里对某个表或者类里的对象数据的增删改查
利用默认数据库创建的默认表,有这些默认的东西:
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
有默认字符集的
select主要是显示那些数据对象,desc主要是显示简易的表结构,只有属性及其默认值和数据类型,也就是类结构,show create table显示详细的类结构,有字符集,注释,校验啥的
对于·数据库,show tables可以看到里面的表,但是show create database 数据库名 看不到表,但是有字符集,校验。
数据库也就是包,表也就是类,列也就是属性,都可以有注释,排序规则,字符集和校验前面俩有