首页 > 数据库技术 > 详细

MYSQL笔记-1

时间:2019-11-10 18:13:43      阅读:71      评论:0      收藏:0      [点我收藏+]
1.MYSQL基本概念:
MYSQL是用于管理数据的关系型数据库软件,分为客户端和服务端
客户端功能:连接服务端 发送指令 解析SQL语句
服务端功能:接收指令 解析SQL语句 对本地文件进行操作
数据库基本结构:
数据库-文件夹
数据表-文件
数据行-文件行

数据库分为关系型数据库和非关系型数据库:关系型数据库指的是每列的属性都有很多约束存在
常见的软件如下:
关系型数据库:sql lite,db2,oracle,access,sql server,MYSQL(有很多约束)
非关系型数据库:Mongo DB,redis

2.MYSQL数据库的安装:
exe:直接安装就行
zip:需要对MYSQL进行初始化
初始化:在dos命令行执行以下操作
初始化服务端:
D:\MYSQL\mysql-8.0.18-winx64\bin\mysqld --initialize insecure
服务端连接:
服务端:D:\MYSQL\mysql-8.0.18-winx64\bin\mysqld
客户端登录:
客户端:D:\MYSQL\mysql-8.0.18-winx64\bin\mysql -u root -q root用户的密码为空
设置环境变量 :将D:\MYSQL\mysql-8.0.18-winx64\bin\设置为环境变量,以后起服务就无须敲前面的目录名
设置成Windows服务:可以减少dos命令窗的个数

3.MYSQL数据库的连接:

创建用户:
create user ‘用户名‘@‘IP地址‘ identified by ‘密码‘;(%代替ip地址的任一部分)
例子:
creat user ‘jjy‘@‘%‘ identified by ‘123123‘;
授权:
grant 操作 in 数据库和数据表 to 用户
例子:
grant insert update on db.* to ‘jjy‘@‘%‘;
grant all privileges on db.t1 to ‘jjy‘@‘%‘
(收回授权)revoke 操作 in 数据库和数据表 to 用户
例子:
revoke insert update on db.* to ‘jjy‘@‘%‘;

4.SQL语句的使用:
操作文件夹
show databases; 查看所有数据库
create database db1 default charset=utf8 ;创建数据库db1,默认编码是utf-8
use db1 ;对db1进行操作
drop database db1 ;删除数据库db1

操作文件(数据表):
  create table t1(
                        列名 类型 约束 not null(null) signed(unsigned) auto_increment 
                        primary key
                        uid int not null auto_increment primary key,
                        name char(20) not null,
                        num decimal(10,5)
                        size ENUM(small,middle,large)
)engine=innodb,default charset=utf8

 


引擎:帮助用户处理一切操作的机器或者代码:
innodb:支持事务(原子性操作),遇到异常时可以回滚(经典使用在转账系统中)
myisam:不支持事务

数据类型:
数字类型:
int
tinyint
bigint
float(不准确)
double(不准确)
decimal(以字符串形式存储,永远是准确的)(总位数,小数点后的位数),
字符串类型:
char:不可变字符串类型,如果长度不够,数据库自动帮添加空格,优点是处理数据迅速
varchar:可变数据类型,优点是节省空间
ps:可以组合使用char和varchar,将定长字符串列放在前面,变长字符串列放在后面
时间类型:时间格式不同,最常使用的类型是DATETIME
DATE
YEAR
TIME
DATETIME
TIMESTAMP
二进制类型:Blob
枚举类型:enum(只能选择括号中的类型)
集合类型:set(只能选择括号中元素的任意组合)

清空表:
delete from t1;(t1表之后添加的数据的序号会接着上次清空表的最后一个元素)
truncate from t1;(t1表之后添加的数据的序号会从头开始)

删除表:
drop table t1;
操作文件内容:
添加数据:
insert into t1(‘uid‘,‘name‘) value (‘01‘,‘htt‘);
删除数据:
delete from t1 where id<6;
修改数据:
update t1 set age=18 where age=17;
查询数据:
select * from t1;

外键 :表示1对多的关系,作用:对数据进行约束,节省空间
create table user_info(
                                uid bigint not null auto_increment primary key,
                                name varchar(20) not null,
                                num decimal(10,5),
                                department_id int,
                                constraint fk_user_depart foreign key (department_id)     
                                references department(id)
)engine=innodb,default charset=utf8

create table department(
                                id bigint auto_increment primary key,
                                title char(15)
)engine=innodb,default charset=utf8        

 



MYSQL笔记-1

原文:https://www.cnblogs.com/lovejjy/p/11830947.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!