一. MySQL的安装
-
Linux下的MySQL安装
sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty main universe' // 添加库 sudo apt-get update // 更新 sudo apt-cache search mysql | grep mysql-server // 搜索可下载的版本 sudo apt install mysql-server-5.6 // 安装5.6版本 sudo systemctl enable mysql.service // 设置开机启动
二.数据库的连接与状态
-
服务的状态
sudo systemctl status mysql.service // 查看数据库服务状态,显示绿灯即在开启状态 sudo systemctl start mysql.service // 开启数据库服务 sudo systemctl stop mysql.service // 关闭数据库服务 sudo systemctl enable mysql.service // 将数据库服务设置成开机自启动 sudo systemctl disable mysql.service // 将数据库服务开机自启动取消 sudo systemctl restart mysql.service // 重启数据库服务
-
数据库连接
mysql -u root -p // root为数据库用户名,-p后面可接密码
-
远程连接数据库
连接远程数据库需要有IP地址,远程数据库用户,远程数据库密码,以下命令皆在mysql下
// 创建远程用户,admin为用户名,admin123为用户密码,都可以更改 GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin123' WITH GRANT OPTION;
在Navicat for MySQL下选择文件>新建连接,填写对应的IP地址,数据库用户名,数据库密码,然后点击连接测试,如果弹出连接成功即可
三.MySQL分类
- DDL【Data Definition Language】数据定义语言,用户创建、修改、删除表结构
- DML【Data Manipulation Language】数据操作语言,用于对数据表进行增删改的操作
- DQL【Data Query Language】数据查询语言,用于负责数据表的查询工作
- DCL【Data Control Language】数据控制语言,用来定义访问权限和安全级别
四.Linux下的数据库服务器操作
-
关于数据库的操作
-
查看数据库
show databases; // 注意后面要加;
-
创建数据库
creat database 数据库名 charset=utf8; // charset可加不可加,规定数据库的编码格式
-
删除数据库
drop database 数据库名;
-
切换数据库
use 数据库名;
-
-
关于表单的操作
-
查看当前数据库的表单
show tables;
-
创建表单
字段即描述你该列的字符,字段类型常用的有:
int 整数
float 浮点数
char(num) 字符串,num为规定长度
bit 非1即0
create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型...);
-
删除表单
drop table 表名;
-
表单改名
alter table 旧表名 rename 新表明;
-
查看表结构
desc 表名;
-
-
表单内部结构命令
-
给表单增加一个字段
alter table 表名 add 新的字段 字段类型;
-
删除一个字段
alter table 表名 drop 要删除的字段;
-
修改某个字段
alter table 表名 change 旧的字段 新的字段 字段类型;
-
给某个字段添加新的属性
alter table 表名 change 字段名 字段名 原本字段类型,要添加的新属性;
-
添加主键
一张表单只能拥有一个主键,主键的作用为使该字段的内容唯一不重复且不能为空
alter table 表名 change 字段名 字段名 属性 primary key(字段);
-
删除主键
删除主键,该字段不能有自增长属性increment
alter table 表名 drop primary key;
-
增加自增长属性
自增长属性的意思就是如果该字段是从0开始那么后面不需要设置他就会1,2,3..下去
alter table 表名 change 字段名 字段名 属性 increment;
-
添加约束不能为空
即该字段内的内容不能为空,否则会报错
alter table 表名 change 字段名 字段名 属性 not null;
-
添加默认值
即不给该字段内容时,显示为默认值
alter table 表名 change 字段名 字段名 属性 Default 默认值;
-
-
表内数据操作
-
增添数据
insert into 表名 values(内容1,内容2...); // 里面的内容要对应字段的顺序 insert into 表名(字段1,字段2...) values(内容1,内容2..) ; // 自定义添加内容,内容与字段一一对应,并且如果有不能为空的话就必须赋值
-
修改数据
update 表名 set 字段=新的内容; // 对该字段的所有内容进行修改 update 表名 set 字段=新内容 where 条件; // 对指定的条件下的数据内容进行修改
-
删除数据
delete from 表名 where 条件; // 若没有where则删除表内所有内容
-
-
数据查询
where加条件为通过该条件查询,条件可用逻辑运算符,关系运算符连接:
+,-,*,/ 算术运算符
and,or 与或运算符
>,<,=,>=,<=,!= 逻辑运算符
select * from 表名 where chinese+math >150 and english>80; // 表示字段chinese+字段math大于150并且字段english>80的所有信息
-
查询整张表的信息
select * from 表名; // *表示所有内容
-
查询整张表的部分字段信息
select 字段1,字段2.. from 表名 // 整张表只显示字段1,字段2..的信息
-
根据条件查询
select * from 表名 where 条件
-
查询指定行数内容
select * from 表名 limit n m-n // 显示n-m行
-
-
聚合函数(虚拟字段)
max(字段) // 该字段的最大值 min(字段) // 该字段最小值 sum(字段) // 该字段的和 avg(字段) // 该字段的平均值 count(字段) // 该字段的个数 distinct(字段) // 过滤该字段重复的值 select *,sum(grade) from 表名; order by 字段// 根据该字段升序排序,order by desc为降序排序 select * from 表名 order by chinese; // 将内容根据Chinese字段的大小升序排序 group by 字段 // 根据这个字段分成一个组 having 虚拟字段 // where后面只能放实际字段,而having可以放虚拟字段
网友评论