环境信息
安装环境 :Ubuntu 14 Desktop(桌面版)
m安装版本 :MySQL 5.7.23
安装步骤
linux环境下安装过程很简单 三条命令行即可安装完成:
1. sudo apt-get install mysql-server
2. apt-get isntall mysql-client
如果在win平台下安装需要配置环境变量否则在控制台下是无法直接使用mysql命令的
安装成功之后使用命令 mysql -u -p 登陆 -u后面跟Mysql的用户名-p后面跟密码 当然也可以选择数据库监听端口 例如 mysql -uroot -p3307 ,输入后会提醒用户输入密码
简单操作
创建数据库用户:
首先,mysql数据库用户创建都是‘用户名@网络地址’这种格式来创建的 所以创建 同网段用户的时候可以用命令:
create user ‘abc’@‘123’ identifind by ‘456’
这种方式来创建 最后跟的是密码,该地址用户可以登陆数据库,若全网段用户均可访问则输入‘用户名@%’即可,但还需要配置一下用户权限问题如下:
grant create,delete,select,update,insert on db1.* to 'abc@123'
分配给abc@123 这个用户 db1这个库下的所有表 创建,删除,查询,修改,插入权限,若配置全部权限则输入 all privileges 即可。
数据库操作主要增删改查,其余命令稍后记录这里记载一些常用以及某些关键字作用与区别:
1.show databases;不要忘记家S ,显示数据库列表
2.use XXX; 例如 use mysql;选择数据库,相当于存储过程开始时use 表 一样
3.show tables;显示当前库列表
4.create database db1 charset utf8;db1数据库,并设置字符编码采用utf8编码
5. show create database db1;显示创建db1的sql语句
6.alter database db1 charset gbk;修改数据库编码方式为GBK
7.drop database db1;删除数据库,注意删除之后不可恢复
MySQL基础知识
基本术语:row:行 ,column:列,record:记录,field:字段,database:库,tabe:表,schema:库。
数据库引擎
innodb(默认存储引擎)
1.支持事务
2.支持外键
3.行级锁
myisam
1.不支持事务
2.不支持外键
3.表级锁
4.查询较多建议该引擎 ,增删改不建议
memory
1.常住内存
2.数据库重启等操作,数据消失
数据类型
数字
unsigned 无符号类型,没有负数
zerofill 用0填充结合位数设置使用
例如 xx int(5) zerofill 则显示成5位,不足5位前面补0,超过5位则只显示5位
tinyint 1字节 , smallint 2字节, int 4字节,bigint 8字节, float 4字节,double 8字节,decimal 定点数 例如 decimal(m,n) 精确显示数字 m(字节量)+小数位数量
字符串
char(n) 定长字符串 n一般不会超过255个字符
varchar(n) 变长字符串 n 字符上线为65535 ,如果字符长度大于等于255则需要一个额外得字节来保存数据长度,若小于255则需要两个额外字节来保存长度
text 最大存储65535字符串
日期
datetime :年月日时分秒 date :年月日 time: 时分秒 timestamp: 时间戳 时间只到2038年,随着其他字段修改而自动更新,插入数据时候会自动填入时间
表操作
首先,修改 db1 下 编码格式为 utf8 稍后用到
alter database db1 charset utf8;
其次选择 db1 下创建表 tb1 注意区分
use db1;
create table tb1(name varchar(20),gender char(1))engine = innodb , charset = utf8;
show tables;
查看表结构命令
desc tb1;
查看建表语句并纵向显示
show create table tb1\G
修改表名
rename table tb1 to user;
修改引擎以及编码格式
alter table user engine=myisam charset=GBK;
show create table user\G
添加新字段在第一行
alter table user add id int first;
添加新字段在指定字段后面
alter table user add email varchar(100) after name;
添加多行数据
alter table user add(age int,height decimal(3,2));
desc user;
修改字段名称
alter table user change gender sex char(1);
修改字段类型
modify sex varchar(2) NOT NULL DEFAULT 2;
修改字段顺序
modify email varchar(100) after id;//也可以用first 排列为第一个字段
删除字段
alter table user drop height;
删除表
drop table user;
drop table if exists user;//如果有这个表的话就会删除 稳妥方式
截断表,先删除再重新创建
truncate table user;