MySQL(安装,服务,创建用户及授权)
参考:http://www.cnblogs.com/wupeiqi/p/5713315.html
单机程序(自己DB)
单机程序(公用DB)
MySQL:是用于管理文件的一个软件
- 服务端软件
- socket服务端
- 本地文件操作
- 解析指令【SQL语句】
- 客户端软件(各种各样)
- socket客户端
- 发送指令
- 解析指令【SQL语句】
PS:
- DBMS数据库管理系统
- SQL语句
技能:
- 安装 服务端和客户端
- 连接
- 学习SQL语句规则;指示服务端做任意操作
其他类似软件:
关系型数据库:sqllite,db2,oracle,access,sql server MySQL
非关系型数据库:MongoDB,redis
MySQL在linux下安装

在安装过程中还需要设置密码。

mysql -u root -p(连接)
show databases;(数据库)
show tables;(表)

create database 数据库名;

创建用户及授权

创建的用户登录

操作文件夹、操作文件、操作文件内容
学习SQL语句规则
操作文件夹
create database db2;
create database db2 default charset utf8; (兼容中文)
show databases;
drop database db2;
操作文件
show tables;
create table t1(id int,name char(10)) default charset=utf8;
create table t1(id int,name char(10)) engine=innodb default charset=utf8; #engine = innodb,传输时中断,数据不会出错。出错回滚回原状态。
create table t3(id int auto_increment primary key,name char(10))engine=innodb default charset=utf8;
create table t1(
列名 类型 null, #可以为空
列名 类型 not null, #不允许为空
列名 类型 not null auto_increment primary key,
id int,
name char(10)
)engine=innodb default charset=utf8;
操作文件中内容
在表中插入数据:insert into t1(id,name) values(1,'alex');
可以为空null

auto_increment,id自增

一个表中只能有一个自增列,自增的,必须是主键,auto_increment primary key,primary key对该列进行约束,不能重复,不能为空,可以快速查找。
默认值
默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值
create table tb1(
nid int not null defalut 2, #默认值
num int not null
)
清空表
delete from t2; #清除表中的内容,再添加时会从上一次自增id处开始。
truncate table t1; #清除表中的内容,再添加时会从1处开始,而且速度块。
delete from t1 where id<6;
改:update t1 set age = 18 where age =17; #age 17全改为18
删除表
drop table t1;
表内容操作
1、增
|
1
2
3
|
insert into 表 (列名,列名...) values (值,值,值...)insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...)insert into 表 (列名,列名...) select (列名,列名...) from 表 |
2、删
|
1
2
|
delete from 表delete from 表 where id=1 and name='alex' |

3、改
|
1
|
update 表 set name = 'alex' where id>1 |

4、查
|
1
2
3
|
select * from 表select * from 表 where id > 1select nid,name,gender as gg from 表 where id > 1 |
修改表
|
|
添加列:alter table 表名 add 列名 类型删除列:alter table 表名 drop column 列名修改列: alter table 表名 modify column 列名 类型; -- 类型 alter table 表名 change 原列名 新列名 类型; -- 列名,类型 添加主键: alter table 表名 add primary key(列名);删除主键: alter table 表名 drop primary key; alter table 表名 modify 列名 int, drop primary key; 添加外键:alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);删除外键:alter table 表名 drop foreign key 外键名称 修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;改变添加位置: alter table 表名 auto_increment = 3;
|
数据类型
数字:
tinyint
int
bigint
FLOAT
0.00000100000123000123001230123
DOUBLE
0.00000000000000000000100000123000123001230123
0.00000100000123000000000000000
decimal(小数时推荐) num decimal(10,5) (总位数,精确数)
0.1
字符串:
最多255个字符
char(10) 速度快()
root 未沾满则填充满
varchar(10) 节省空间
root 占四个位置,节省空间,定长
PS: 创建数据表定长列往前放
text (长度比char大)
上传文件:
文件存硬盘(过大文件不适合放数据库)
db存路径
时间类型
DATETIME
enum枚举 插入时只能选择枚举中一个
set集合 只能插入集合set('a', 'b', 'c', 'd')中的任意组合'a, b'
外键:

department与id对应。
外键:
节省空间
create table userinfo(
uid int auto_increment primary key, 自增
name varchar(32),
department_id int,
xx_id int,
constraint fk_user_depar foreign key (department_id) references department(id) #约束department 与 id对应
)engine=innodb default charset=utf8;
create table department(
id bigint auto_increment primary key,
title char(15)
)engine=innodb default charset=utf8;
自增列起始值与步长
alter table 表名 auto_increment = 20;
基于会话级别:
show session variables like 'auto_inc%'; 查看全局变量
set session auto_increment_increment=2; 设置会话步长,该设置的步长只在当前窗口下有效
基于全局级别:
show global variables like 'auto_inc%'; 查看全局变量
set global auto_increment_increment=2; 设置会话步长
唯一索引 能确定某个数据列将只包含彼此各不相同的值(如身份证号)
create table t1(
id int ....,
num int,
xx int,
unique 唯一索引名称 (列名num,列名xx), #联合唯一索引
constraint ....
)
#
id num xx
1 1 1 联合索引唯一 这一行
2 1 2 与这一行不同
PS:
唯一:
约束不能重复(可以为空)
PS: 主键不能重复(不能为空)
加速查找
打开和停止服务

查看新建的数据库nzp

练习:http://www.cnblogs.com/wupeiqi/articles/5729934.html
答案:https://www.cnblogs.com/wupeiqi/articles/5748496.html

ERROR 1215 (HY000): Cannot add foreign key constraint 解决方法
因为你要添加外键时,你的外键类型是int
而引用的主键类型也是 int,如果你的主键设置auto_increment(那么你的字段类型实际上是unsigned_int)
主键,外键类型不一致,所以无法添加外键。
所以此时将我们的外键字段类型改为无符号整数。那么就可以成功添加外键了。
MySQL(安装,服务,创建用户及授权)的更多相关文章
- 制作MySQL的Windows服务+创建用户及授权
在上一篇随笔中详述了MySQL的Windows 64位版本的安装,以及初始化操作.启动服务端.客户端连接.一些基本的文件操作等.然而在进行这些操作的时候,需要我们去输入一长串的路径和命令才能 ...
- 命令行下创建MySQL数据库与创建用户以及授权
先以root用户登录mysql: C:\Users\XXX>mysql -u root -p 输入密码后登录,接下来操作如下: 1.创建数据库 语法:create schema [数据库名称] ...
- MySQL数据库(1)- 数据库概述、MySQL的安装与配置、初始SQL语句、MySQL创建用户和授权
一.数据库概述 1.什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机. 在计 ...
- mysql 创建用户及授权(2)
一. MySQL初始密码 新安装的MySQL默认是没有密码的,设置初始密码可以用以下命 mysqladmin -u root password 'new-password' mysqladmin -u ...
- CentOS如何安装MySQL8.0、创建用户并授权的详细步骤
# 安装相关软件 yum install -y gcc gcc-c++ openssl openssl-devel ncurses ncurses-devel make cmake # 获取MySQL ...
- Mysql基础(一):Mysql初识、基本指令、数据库密码相关、创建用户及授权
来源:https://www.cnblogs.com/liubing8/p/11432534.html 目录 数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 1. 数据库概述 ...
- 数据库01 /Mysql初识、基本指令、数据库密码相关、创建用户及授权
数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 目录 数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 1. 数据库概述 2. 数据库管理系统/DBMS ...
- MySQL创建用户与授权(CentOS6.5)
1.相关SQL语句 #创建用户与授权方法 ##本地访问 create user 'zend'@'localhost' IDENTIFIED BY '123456'; grant ALL privile ...
- python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)
昨日内容回顾 外键的变种三种关系: 多对一: 左表的多 对右表一 成立 左边的一 对右表多 不成立 foreign key(从表的id) refreences 主表的(id) 多对多 建立第三张表(f ...
随机推荐
- CentOS7下搭建基本LNMP环境,部署WordPress
系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nginx-1.12.2.tar.gz php 7.1.11 ...
- [SoapUI] Tips and Tricks(提示和技巧)
https://www.soapui.org/scripting-properties/tips-tricks.html
- Netty 零拷贝(一)NIO 对零拷贝的支持
Netty 零拷贝(二)NIO 对零拷贝的支持 Netty 系列目录 (https://www.cnblogs.com/binarylei/p/10117436.html) 非直接缓冲区(HeapBy ...
- 这样的UI UX设计师描述你满意吗?
UI/UX 设计师是我们耳熟能详的名称,但是这些红遍大江南北的设计师到底是什么鬼? 今天小编跟大家好好分享一些关于UI UX 设计师的描述,让大家搞清楚两者的含义和职责.全文主要分成UI设计师描述和U ...
- mvc模拟实现
.定义httpmodule <system.webServer> <modules> <add name="UrlRoutingModule" typ ...
- 2018.09.24 bzoj1016: [JSOI2008]最小生成树计数(并查集+搜索)
传送门 正解是并查集+矩阵树定理. 但由于数据范围小搜索也可以过. 我们需要知道最小生成树的两个性质: 不同的最小生成树中,每种权值的边出现的个数是确定的 不同的生成树中,某一种权值的边连接完成后,形 ...
- 【转】web应用缓慢故障分析
在这以后里分享一篇关于web应用缓慢的分析过程,感觉挺有用的. 原文出处:http://xjsunjie.blog.51cto.com/999372/751585 友在一家购物网站做运维不久,今日打电 ...
- Swift:在Safari中打开App
打开之前会发生什么呢,先看看这个图: 我这里只是简单模拟了一下.当你输入一个特殊的“url”之后,Safari弹出一个提示,问你是否继续打开这个App.如果你这个时候confirm的话.那么这个App ...
- (回文串 Manacher)吉哥系列故事——完美队形II -- hdu -- 4513
http://acm.hdu.edu.cn/showproblem.php?pid=4513 吉哥系列故事——完美队形II Time Limit: 3000/1000 MS (Java/Others) ...
- (线段树) Count the Colors --ZOJ --1610
链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82832#problem/F http://acm.zju.edu.cn/onli ...