MYSQL
MYSQL是数据库的一种 所谓数据库就是一种特殊的文件,其中存储着需要的数据 分为关系型数据库和非关系型数据库
而MYSQL数据库是其中的关系型数据库
SQl
SQL是结构化查询语言,是一种用来操作RDBMS的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过 SQL 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库
MYSQL特点
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
支持多种操作系统,如Linux、Windows、AIX、FreeBSD、HP-UX、MacOS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris等
为多种编程语言提供了API,如C、C++、Python、Java、Perl、PHP、Eiffel、Ruby等
支持多线程,充分利用CPU资源
优化的SQL查询算法,有效地提高查询速度
提供多语言支持,常见的编码如GB2312、BIG5、UTF8
提供TCP/IP、ODBC和JDBC等多种数据库连接途径
提供用于管理、检查、优化数据库操作的管理工具
大型的数据库。可以处理拥有上千万条记录的大型数据库
支持多种存储引擎
MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库
MySQL使用标准的SQL数据语言形式
Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统
在线DDL更改功能
复制全局事务标识
复制无崩溃从机
复制多线程从机
MYSQL安装
服务器端安装代码:sudo apt-get install mysql-server
图形化安装:https://www.navicat.com.cn/
数据库操作
查看所有数据库
show databases; (分号一定要加)
使用数据库
use 数据库名;
查看当前使用的数据库
select database();
创建数据库
create database 数据库名 charset=utf8;
举例:
create database ycc charset=utf8
删除数据库
drop database 数据库名;
举例:
drop database ycc;
数据表
查看当前数据库中所有表
show tables;
查看表结构
desc 表名;
创建表
CREATE TABLE table_name(
column1 datatype contrai,
column2 datatype,
column3 datatype,
…
columnN datatype,
PRIMARY KEY(one or more columns)
);
修改表-添加字段
alter table 表名 add 列名 类型;
例:
alter table students add birthday datetime;
修改表-修改字段:重命名版
alter table 表名 change 原名 新名 类型及约束;
例:
alter table students change birthday birth datetime not null;
修改表-修改字段:不重命名版
alter table 表名 modify 列名 类型及约束;
例:
alter table students modify birth date not null;
修改表-删除字段
alter table 表名 drop 列名;
例:
alter table students drop birthday;
删除表
drop table 表名;
例:
drop table students;
查看表的创建语句
show create table 表名;
例:
show create table classes;
数据库操作
基本查询-查询所有
select * from 表名;
指定列查询
select 字段名1, 字段名2 from 表名;
添加数据
insert into 表名 values(添加的数据);
修改数据
update 表名 set 字段=值 where 条件;
删除
delete from 表名 where 条件;
数据库查询
查询所有字段
select * from 表名;
别名查询
select 字段名 as 别名 from 表名;
消除重复行
select distinct 字段名 from 表名;
比较运算符查询
select * from 表名 where 查询的条件 例如: age > 18;
逻辑运算符查询
select * from 表名 where id > 3 and gender=2;
select * from 表名 where id > 3 or gender=2;
模糊查询
查询姓李的
select * from 表名 where name like “李%”;
非连续范围查询
查询年龄为18和34的
select * from 表名 where age in (18, 34);
1
2
连续范围查询
查询年龄在18到34之间的
select * from 表名 where age between 18 and 34;
排序
select * from 表名 order by 字段名 升序 asc 降序 desc
聚合函数
总数
select count(*) from 表名;
求和
select sum(字段名) from 表名;
最大值
select max(字段名) from 表名;
最小值
select min(字段名) from 表名;
平均值
select avg(字段名) from 表名;
分组查询
select * from 表名 group by 字段名
分页查询
select * from 表名 limit 当前第几页, 每页显示多少数据
连接查询
内连接
select * from 表名1 inner join 表名2 on 表名1.字段名 = 表名2.字段名
左连接
select * from 表名1 left join 表名2 on 表名1.字段名 = 表名2.字段名
右链接
select * from 表名1 right join 表名2 on 表名1.字段名 = 表名2.字段名
事务四大特性
原子性:一个事务的不可分割最小单位,操作要么全部提交成功,要么全部失败回滚
隔离性:一个事务在没有提交之前对另一个事务是不可见的
一致性:一个事务执行之前和执行之后都必须处于一致性状态,也就是说数据不会被破坏
持久性:一旦数据被调教,那么数据的存储将会是永久性的
7万+

被折叠的 条评论
为什么被折叠?



