MySQL基础操作

MySQL基础操作

一、什么是数据库

数据库就是存储数据的仓库。如:在ATM的实例中我们创建了一个db目录,称其为数据库

数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、,描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。

数据库管理系统软件:

数据库管理系统(Database Management System)是一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS,他对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

二、MySQL安装

Windows:

       

压缩包:可以放置任何位置,解压到当前目录

服务端:

初始化:F:mysql-5.7.16-winx64in  mysqld --initialize-insecure

启动服务端:F:mysql-5.7.16-winx64in  mysqld

 

客户端连接:

   F:mysql-5.7.16-winx64in  mysqld –u root –p

 

环境变量的配置:

F:mysql-5.7.16-winx64in

 

widows服务:

F:mysql-5.7.16-winx64in  mysqld –install

   net start Mysql

  

 F:mysql-5.7.16-winx64in  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;
外键
原文地址:https://www.cnblogs.com/niejinmei/p/6946874.html