我是靠谱客的博主 勤奋大地,最近开发中收集的这篇文章主要介绍MySQL的深入浅出(一)—— 初识MySQL初识MySQL,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

初识MySQL


登陆数据库

  1. 配置环境变量:在系统环境变量path

C:Program FilesMySQLMySQL Server 5.7bin

  1. 登陆数据库:

cmd命令行下:mysql -h 127.0.0.1 -P 3306 -u root -p
输入密码:

	注意:大写P,端口号;小写p:密码

数据类型

  1. 整数类型
整数类型字节最大值最小值
TINYINT1有符号-128
无符号0
有符号127
无符号255
SMALLINT2有符号-32768
无符号0
有符号32767
无符号65535
MEDIUMINT3有符号-8388608
无符号0
有符号8388607
无符号1677215
INT/INTEGER4有符号-2147483648
无符号0
有符号2147483647
无符号4294967295
BIGINT8有符号-9223372036854775808
无符号0
有符号9223372036854775807
无符号18446744073709551615
	硬件十分发达:已经不需要考虑内存了,一般使用INT就够了(BIGINT太大了不怎么用)
  1. 浮点数据类型:
浮点数类型字节
FLOAT4
DOUBLE8
  1. 日期类型:
日期类型字节最大值最小值
DATE41000-01-019999-12-31
DATETIME81000-01-01 00:00:009999-12-31 23:59:59
(时间戳)TIMESTAMP4197001010800012038年某一时刻
TIME3-838:59:59838:59:59
YEAR119012155
  1. 字符串类型:
字符串类型字节描述及存储希求
CHAR(M)MM为0~255之间的数
VARCHAR(M)MM为0~255之间的数
区别:
1)char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值。
当你输入的字符大于指定的数时,它会截取超出的字符。
2)R。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,
把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。
为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。

约束

  1. 完整性检查就是指检查数据的准确性和完整性;

    mysql数据库管理系统提供了一系列机制来检查数据库表中的数
    据是否满足规定的条件,以保证数据库表中数据的准确性和一致性,这种机制就是 约束 !

  2. 约束:
    | 关键字 | 解释 |
    | ------- | ----|
    | NOT NULL | 约束字段的值不能为空 |
    | DEFAULT | 设置字段的默认值 |
    | UNIQUE KEY | 字段的值唯一 |
    | PRIMARY KEY | 主键非空且唯一 |
    | AUTO INCREMENT | 字段自动增长 |
    | FOREIGN KEY(FK) | 约束字段为表的外键 |

    企业里的默认外键名称:FK_数字编号,同一个数据库中的外键编号不能相同
    1)自动增长约束必须是主键,而且数据类型是int
    2)自动增长的数字不会回退
    子表:拥有外键的表
    父表:子表外键指向的主键所在的表
    注意:
    1)字表的取值范围受到父表的约束
    2)先建父表,再建字表;先有父表数据,再有字表数据
    3)删除的时候先删除子表,再删除父表
    

数据库的使用

  1. 系统自带的数据库:不同版本数据库软件默认数据库不同(莫动!!!)

information_schema
mysql
performance_schema
sys
以上四个为系统数据库(自带的)
sakila
world

  1. 查看命令

show databases;显示所有数据库
show tables;显示当前使用数据库的所有表

  1. 创建数据库(创建数据库的时候指定数据库字符集为utf8,不是UTF-8):

create dadabase 数据库名称;

create database if not exists 数据库名称 default charset=utf8;

  1. 删除数据库:

drop database 数据库名称;

  1. 使用数据库(选择一个数据库进行操作):use 数据库名称;
  2. 创建表:

create table commoditytype(
ct_id int(11) primary key,
ct_name varchar(50) not null
//最后一行不用加逗号
)default charset=utf8;
//建议写上,不写默认数据库编码;结束命令的分号别忘了
create table commodity(
c_id int(11) primary key,
c_name varchar(50) not null,
c_madein varchar(50) not null,
c_type int(11) not null,
c_inprice int(11) not null,
c_outprice int(11) ,
c_num int(11) default '100',
constraint fk_1 foreign key (c_type) references commoditytype (ct_id)
)default charset=utf8;
create table customer(
cu_id int(11) primary key,
cu_name varchar(50) not null,
cu_phone varchar(50) not null,
cu_gender int(11) not null default '1',
cu_address varchar(100) not null
)default charset=utf8;
create table `order`(
//order是关键字使用反引号
o_id int(11) primary key auto_increment,
o_cuid int(11) not null,
o_cid int(11) not null,
o_num int(11) not null,
constraint fk_2 foreign key (o_cuid) references customer (cu_id),
constraint fk_3 foreign key (o_cid) references commodity (c_id)
)default charset=utf8;
  1. desc 表名;描述表明

    desc `order`;
    desc customer;

  2. 表名,字段名等如果和数据库关键字相同,使用反引号(esc下,tab上)

最后

以上就是勤奋大地为你收集整理的MySQL的深入浅出(一)—— 初识MySQL初识MySQL的全部内容,希望文章能够帮你解决MySQL的深入浅出(一)—— 初识MySQL初识MySQL所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部