MySQL基础操作
MySQL基础操作
一、什么是数据库
数据库就是存储数据的仓库。如:在ATM的实例中我们创建了一个db目录,称其为数据库
数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、,描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统软件:
数据库管理系统(Database Management System)是一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS,他对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
二、MySQL安装
Windows: 压缩包:可以放置任何位置,解压到当前目录 服务端: 初始化:F:\mysql-5.7.16-winx64\bin \ mysqld --initialize-insecure 启动服务端:F:\mysql-5.7.16-winx64\bin \ mysqld 客户端连接: F:\mysql-5.7.16-winx64\bin \ mysqld –u root –p 环境变量的配置: F:\mysql-5.7.16-winx64\bin widows服务: F:\mysql-5.7.16-winx64\bin \ mysqld –install net start Mysql F:\mysql-5.7.16-winx64\bin \ mysqld –remove net stop Mysql
三、 数据库操作
1、操作文件夹:
1.1 显示数据库
show databases;
1.2 创建数据库
create database(数据库名称)db1: create database (数据库名称)db2 default charset utf8;//以这种方式创建
1.3 删除数据库
drop database (数据库名称);
1.4 使用数据库
use(数据库名称)
1.5用户管理
1.5.1 创建用户
create user“用户名”@“IP地址”indentified by “密码”; 用户只能在改IP下才能访问 create user“用户名”@“%”indentified by “密码”;创建用户; 用户只能在改IP下才能访问
1.5.2 删除用户
drop user“用户名”@“IP地址”;
1.5.3修改用户:
rename user“用户名”@“IP地址”;to “新用户名”@“IP地址”;
1.5.4 修改密码:
set password for“用户名”@“IP地址”=password(“新密码”)
1.5 授权限:
grant select,insert,update on 数据库.表 to “用户名”@“%”;给用户名授了查看 插入,修改的的权限 grant all privilege on *.* from “用户名”@“%”;给用户名授了全部权限 show grant for“用户名”@“IP地址 查看权限
2、操作文件:
2.1显示文件:
show tables;
2.2创建文件:
create table (文件名)t1(id int ,name char(10))default charset=utf8; create table(文件名)t2(id int,name char(10))engine=innodb default charset=utf8; create table(文件名)t3(id int not null auto_increment primary key,name char(10))engine=innodb default charset=utf8; //创建以这种方式创建
create table t1( 列名 类型 null 空 列名 类型 not null 不为空 列名 类型 not null auto_increment 自动增值 列名 类型 id int null auto_increment primary key 主键 id int char(10) )enqine=innodb defalult charset=utf8; auto_increment 表示:自增 innodb 引擎 支持事物,是一种原子性操作 myisam也是一种引擎 not null:是否为空 primary key:主键: (一种特殊的唯一索引,不允许有空值,则它的值必须是唯一的)表示约束;加速查找
基本数据类型: 数字: tinyint:小整数,数据类型用于保存一些范围的整数数值范围 int:整数,数据类型用于保存一些范围的整数数值范围 特别的:整数类型中的m仅用于显示,对存储范围无限制,例如:int(5),当插入数据2时,select时数据显示为00002 bigint:大整数:数据类型用于保存一些范围的整数数值范围 float:单精度浮点数(非准确小数值) double:双精度浮点数(非准确小数值) decimal: 准确的小数值,对于精确那个数值计算时需要用次类型,decimal能够存储精确值的原因在于其内部按照字符串存储 字符串: char:数据类型用于固定长度的字符串。可以包含最多达255个字符。(数据类型处理速度快) ps:即时数据小于m长度,自动补全长度。会占用m长度 varchar:数据类型用于变长的字符串,可以包含最多达255个字符。(节省空间) ps:创建数据表定长列往前放(如:手机号是定长) 变长(用户地址) text:text数据类型用于保存变长的大字符串,一般字符串过大 会写入文件存在硬盘中。db中会存放文件操作的路径。 时间类型: DATETIME:YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59 Y) enum枚举类型:数据不改变的情况下可以使用enum枚举 CREATE TABLE shirts ( name VARCHAR(40), size ENUM('x-small', 'small', 'medium', 'large', 'x-large') ); INSERT INTO shirts (name, size) VALUES ('dress shirt','large'), ('t-shirt','medium'),('polo shirt','small'); set 集合类型:可以任意组合数据: CREATE TABLE myset (col SET('a', 'b', 'c', 'd')); INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d');
2.3删除表
trop table t1;
3.操作文件中内容:
3.1插入数据:
insert into t1(id,name) values(1,”karina”)
3.2修改数据:
update t1(文件名) set name=“翠花”; update t1(文件名)set name=“如花” where name=“翠花” //先把name=“翠花找着”在进行修改成“如花”
3.3 删除:
delete from t1 where id<4 不是全部删除的对,可以加个条件在进行删除
3.4清空表:
delete from t1; 清空完之后 如果在继续增加 id值会从上一次停止的位置依次往后加 truncate table t1; 整个表都清空,在增加的话 会从头开始增加id
3.5 查看数据:
select *from t1;
外键:一个特殊的索引,只能是指定内容,一对多的 create table userinfo( uid bigint auto_increment primary key, name varchar(32), department_id int, xx_id int, constraint fk_user_depar foreign key (department_id) references color(id) )engine=innodb default charset=utf8; create table department( id bigint auto_increment primary key, title char(15) )engine=innodb default charset=utf8;