一、MYSQL基本介绍
什么是mysql
mysql是一款最为著名,应用最为广泛的开源的数据库软件
mysql主要特点
(1)主要适用于中小型规模,
(2)支持Linux/Unix、Windows等多种操作系统
(3)使用C和C++编写,可移植性比较强
(4)通过使用API支持Python/Java/Perl/PHP等多种语言
(5)适用于LAMP、LNMP平台
二、MYSQL基本使用
主配置文件位置:/etc/my.cnf
默认使用的端口:3306
使用的传输协议:TCP
进程使用的多有者及所属主:mysql用户(安装软件包时候系统会自动添加该用户)
1.数据库操作指令的基本类型:
mysql指令:切换数据库环境、查看数据库状态、退出控制
sql指令:数据库的创建/操作(增、删、改、查)/授权
2.数据库的基本注意事项
操作指令不区分大小写,(密码、赋值变量除外)
每条sql命令都默认以;为结束符结尾
不支持tab键自动补齐
\c可以废弃当前编写错误的操作指令
3.查找mysql的初始密码
命令行输入:awk ‘/temporary password/{print $NF}’ /var/log/mysqld.log
三、数据库的基本操作
1.常用的字段特征
数值类型
int:大整数,默认宽度(11),有效长度0~2^32-1,设置了zerofill则会自动补位。
tinyint:微小整数 带符号有效长度-127~128,unsigned不带符号有效长度(0~255)
float:单精度浮点数,默认4字节 (7,2)表示数字总长度7位,小数为2位。
字符类型
char:定长,预先设置一个空间大小,默认是(1),必须小于256.
格式:char(),可以不用加上括号,默认值1。
–备注:如果给定的数值不够预先设置空间的宽度,会自动补充空格填充至指定宽度,浪费存储空间。
日期时间类型:datetime/timestamp
格式:yyyymmddhhmmss (20180906173038)
datetime: 如果没有赋值,则会显示为空(NULL)。
timestamp:如果没有赋值,自动以当前时间赋值,
日期类型:
date 格式:yyyymmdd 占用4字节。
存储范围:0001-01-0~9999-12-31。
year 年有效值:1901-2155 占用1字节。
时间类型:
datetime 格式:hhmmss,小时是24小时制。
time 格式:hh:mm:ss 占用3字节。
枚举类型:
enum:从给定的集合中选择单个值,ENUM
格式:enum(值1,值2,值N)
set:从给定的集合中选择一个或者多个值,SET
格式:set(值1,值2,值N)
时间函数
year(now()); month(now()); date(now()); day(now()); time(now());
使用select命令可以直接输出结果:
select year(now()); 2018
select date(now()); 2018-09-07
select month(now()); 9
select day(now()); 7号
select time(now()); 09:43:25
2.数据库的基本操作命令
1.库的基本操作
create database 库名; //新建库
use 库名; //切换库
select database(); //显示当前所在的库
drop database 库名;//删除库
2.表的操作
<建表:表必须存放在库里>
字段:表格中的列,要字段名称。
create table 库名.表名 (
字段1 字段类型(宽度/不写默认指定), //约束条件 char,
字段2 字段类型 (宽度/不写默认指定), //约束条件 int,
字段3 字段类型 (宽度/不写默认指定), //约束条件 char,
);
desc 表名称;//显示表结构
–备注:(表格中的数字大小不由表格宽度决定,由字段类型中的数字类型决定,如果设置了zerofill,宽度不够会用0去补位)。
在表中增加数据
首先选定要操作的库,
use 库名称;
insert into t1(表名称) values(“char”,int,“char”),
->(“char”,int,“char”);
删除表中的数据
删除: delete from 表名 where 条件; //删除格式
delete from t1 where name=“w”;//删除表各种的某一个数据
delete from t1;//清空表格所有内容,但是不删除表格
drop table t1;//删除表格t1。
drop database game;//删除game库。
修改表中的数据
修改: update 表名 set 修改以后情况 where 条件;
update t1 set name=“a” where age=21;
将t1表中的age=21的人name改为a。
查看表中的数据
select * from t1(表名称);//查看表的所有信息
select * from t1(表名称) where 条件;//指定条件删除信息