一、 登录mysql——mysql -u root -p (然后会提示你输入密码,其中root是数据库用户名)
二、数据库的增删改查
- 查看数据库——show databases; (mysql操作命令都是以 ;结尾的)
- 创建数据库——create database monday; (记得加 ; 其中monday是数据库名)
- 删除数据库——drop database Monday;
- 查看数据库编码——show create database monday;
- 修改数据库编码——alter database Monday character set utf8;
- 使用数据库——use monday;
- 查看当前使用库——select database();
三、表的增删该查 - 查看表——show tables;
- 创建一张表——create table 表名(
字段名 类型(长度) [约束],
字段名 类型(长度) [约束],
字段名 类型(长度) [约束]
);
- 查看表的结构——desc 表名;
- 删除一张表——drop table 表名;
- 修改表
a) 增加一列——alter table 表名 add 字段名 类型(长度) [约束];
b) 修改列的类型、长度、约束——alter table 表名 要修改的字段名 类型(长度) [约束];
c) 修改列名——alter table 表名 change 旧列名 新列名 类型(长度) [约束];
d) 删除一列——alter table 表名 drop 列名;
e) 查看表的字符集——show create table 表名;
f) 修改表的字符集——alter table 表名 character set 编码;
g) 修改表名——rename table 旧表名 to 新表名;
三、 表记录的增删改查 - 插入一条记录
a) 按照自定义顺序插入指定字段——insert into 表名(列名1,列名2,列名3…) values(值1,值2,值3…);
b) 按照列的顺序插入字段——insert into 表名 values(第一列的值,第二列的值,第三列的值…); 插入的值顺序对应列的顺序
- 查询操作——select [distinct] * | 列名,列名 from 表名 [where条件]
a) 查询所有记录——select * from 表名;
b) 查询指定列——select 列名,列名… from 表名;
c) 查询指定列并设置别名——select 列名 as 别名,列名 as 别名 from 表名;
as可以省略,效果一样
d) 对查询结果去除重复值——select distinct(列名) from 表名;
e) 查询所有记录并给表设置别名——select * from 表名 as 别名;(as同样可以省略,给表设置别名常用在多表查询的时候)
f) 对查询结果进行算术运算——select 列名(+/-加减乘除) from 表名;
对结果进行+10
对结果进行-10
对结果进行5
对结果进行/5
g) 条件查询——select * from 表名 where 条件;(字符串一般需要加’单引号 ’ ’ )
i. 查询name为“老王”的用户信息——select * from 表名 where name=’老王’;
ii. 查询age大于5的所有用户信息——select * from 表名 where age>5;
iii. 模糊查询,查询name中含有‘三’字的用户信息——select * from t_user where name like ‘%三%’;
iv. 多条件and查询,查询name=’张三’并且passowrd=’123456’的用户信息——
select * from t_user where name=’’张三 and password=‘123456’;
v. 多条件or查询,查询name=’小三’或者name=’lucy’的用户信息——
select * from t_user where name=’小三’ or name=’lucy’;
vi. 范围查询,查询id在集合(2,5,6)范围内的用户信息——select * from t_user where id in(2,5,6);
h) 排序,order by desc/asc(desc是降序,asc是升序),排序总是放在查询语句最后面
i. 查询所有用户并按照age降序显示——select * from t_user order by age desc;
ii. 查询所有用户并按照age升序显示——select * from t_user order by age asc;
i) 聚合函数
i. 获取所有用户年龄的总和,sum(age)——select sum(age) ‘年龄总和’ from t_user;
ii. 获取所有用户年龄的平均值,avg(age)——select avg(age) ‘年龄平均值’ from t_user;
iii. 获取所有用户的数量,count(),代表所有——select count() from t_user;
j) 分组查询,必须和聚合函数一起使用
i. 不带条件的分组查询,统计不同分组的用户总数量——select type,count() from t_user group by type;
ii. 带条件的分组查询,统计不同分组的平均年龄要求平均年龄大于40——
select type,avg(age) from t_user group by type having avg(age)>40;
- 修改表操作——update 表名 set 列名=值 [where条件]
a) 不带条件的修改,即修改表的所有信息,将所有用户的密码修改成‘123456’——
update t_user set password=’123456’;
b) 带条件的修改,将id=4的用户name修改成tom,——update t_user set name=’tom’ where id=4;
- 删除操作——delete from 表名 where 条件
a) 删除整个表的数据——delete from t_user;
b) 带条件的删除,删除id=1的用户——delete from t_user where id=1;