PyCharm登录MySQL
1.创建项目
2.点击右边的Database按钮
3.在弹出的编辑框中输入mysql的用户名和密码
如提示Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezone’ prope错误,请参考:问题解决方案
数据库常用字段约束
约束类型 | 关键字 |
---|---|
主键自增 | primary key auto_increment |
不能重复 | unqiue |
不能为空 | not null |
默认值 | default |
代码:
create table user1(
id int primary key auto_increment,
username varchar(16) not null unique ,
password varchar(16) not null,
gender tinyint default 0,
account decimal(12,2) default 0,
vip boolean default false
);
数据库增,删,改,查等命令
插入数据
语法:insert into 【表名】 value (【数据1】,【数据2】… … );
代码:
insert into user3 (username,password,createDatetime) values
('张伟','pass1','2019-07-11'),('王伟','pass2','2019-07-11'),
('王芳','pass3','2019-07-12'),('李伟','pass4','2019-07-11'),
('王秀英','pass5','2019-07-12'),('李秀英','pass6','2019-07-11'),
('李娜','pass7','2019-07-10'),('张秀英','pass8','2019-07-10'),
('刘伟','pass9','2019-07-12'),('张敏','pass10','2019-07-10');
修改数据
语法:update 【表名】 set 【字段1】=【值】,【字段2】=【值】… where 【条件】
代码:
update user1 set username='name2' where id=1;
删除数据
语法:
delete from 【表名】 where 【条件】
代码:
delete from user1 where id=1;
其它
表内新增字段,指定新增字段的类型和约束
alter table 【表名】 add 【字段名】 【类型】 【约束】;
表内修改字段,指定被修改的字段和修改后的名字、字段类型与约束
alter table 【表名】 change 【原字段名】 【新字段名】 【类型】 【约束】;
表内删除字段
alter table 【表名】drop 【字段名】;
修改表的名字
rename table 【原表名】 to【新表名】
代码:
alter table user2 add tel tinyint unique;
alter table user2 change tel tel varchar(16) unique;
alter table user2 drop tel;
rename table user2 to user3;
查询语句
1.查看表内所有数据
select * from 【表名】; 注:*表示所有字段
例子:
select * from user3;
2.查看指定字段
select 【字段1】,【字段2】 from 【表名】;
例子:
select username, password from user3;
3.比较条件查询
select * from 【表名】 where 【条件】;
条件 | 命令 |
---|---|
相等 | = |
不相等 | != |
为空 | is null |
不为空 | is not null |
大于(大于等于) | >(>=) |
小于(小于等于) | <(<=) |
例子:
select * from user3 where username='王伟';
select * from user3 where username!='王伟';
select * from user3 where createDatetime is not null;
select * from user3 where id >=5;
4.模糊条件查询
select * from 【表名】 where 【字段】 like “表达式”;
条件 | 命令 |
---|---|
% | 匹配任意多的字符 |
_ | 匹配一个字符 |
代码:
select * from user where username like '%王%'
select * from user where username like '王_'
5.范围查询
select * from 【表名】 where 【字段】 in(【可能1】,【可能2】… …);
代码:
select * from user where username in ('王伟','李娜');
6.逻辑运算符
条件 | 命令 |
---|---|
and | 与 |
or | 或 |
代码:
select * from user3 where username='王伟' or username='李娜';
7.分组
格式:
select * from 【表名】 where 【条件】 group by 【字段1】,【字段2】… … ;
说明:
- 按照哪个字段分组,哪个字段就不会重复。
- group by 要写在where的后面
代码:
select count(*),createDatetime from user3 group by createDatetime;
格式:
select * from 【表名】 where 【条件】 group by 【字段1】,【字段2】… … having 【条件】;
说明:
where是对select * from的结果进行筛选
having是对group by的最后结果进行筛选
代码:
select count(*),createDatetime from user3 group by createDatetime having count(*) > 3;
8.排序
格式:
select * from 【表名】 where 【条件】 group by 【字段1】,【字段2】… … having 【条件】 order by 【字段1】 asc|desc,【字段2】 asc|desc;
说明:
- asc和desc的含义 asc: 升序(默认) desc: 降序
- 排序优先级 先按【字段1】进行排序,如果【字段1】相同,按【字段2】排序
代码:
select * from user3 order by createDatetime desc,id asc;
9.分页(limit )
格式:
select * from 【表名】 where 【条件】 group by 【字段1】,【字段2】… … having 【条件】 order by 【字段1】 asc|desc,【字段2】 asc|desc limit 【起始索引】,【数据条数】;
代码:
select * from user3 limit 3,5;
凉拌豆腐干
发布了10 篇原创文章 · 获赞 0 · 访问量 85
私信
关注