MySQL学习(三) —数据库常用命令

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】… … ;
说明:

  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;
说明:

  1. asc和desc的含义 asc: 升序(默认) desc: 降序
  2. 排序优先级 先按【字段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 · 访问量 83

猜你喜欢

转载自blog.csdn.net/taochaocaj/article/details/103956721