今天开始学习mysql数据库了,也是第一次在这里写技术笔记,相信好记忆不如烂笔头,就以此来见证自己的成长吧!

首先安装mysql服务器的过程这里就不啰嗦啦,相信大家都懂的,直接进入主题吧,欢迎那些也是刚开始学习mysql数据库的来一起探讨,是高手的话就发表下意见咯,小弟在这里虚心请教!

一、入门语句:

首先打开运行对话框-->输入cmd-->回车

1.连接到mysql服务器:

mysql -h localhost -u 用户名(通常都是root) -p 密码;

如果不写 -h localhost,默认是连接到本地的mysql服务器,比如在我的电脑:

mysql -u root -p mysql;

2.查看所有的数据库

show databases;

3.选择使用哪个数据库

use databaseName;  --这条语句比较特殊,可以不写分号

比如我有一个数据库名字是test,则use test;

4.查看某个数据库下的所有表

show tables;

5.查看表结构

desc(全称description) 表名;

6.建库语句

create database 数据库名;

7.建表语句

注意:建表之前必须先选择使用某个数据库,use test,

create table 表名(

列名 数据类型,   --多个列用逗号隔开

......

)

其实建表就是声明列的过程。

8.重命名表

rename table oldName(原来的表名) to newName(新的表名);

注意:不能给数据库重命名的。

9.设置字符集

set names gbk;

二、详解列类型之三大列类型

1.数值型(整型列,浮点型列)

2.字符型列

3.日期/时间类型

整型列存储范围与所占空间

类型

字节

有符号

无符号

tinyint

1

8

-2^7-2^7-1

0-2^8-1

smallint

2

16

-2^15-2^15-1

0-2^16-1

mediumint

3

24

-2^23-2^23-1

0-2^24-1

int

bigint

4

8

32

64

-2^31-2^31-1

-2^63-2^63-1

0-2^32-1

0-2^64-1

tinyint类型分析:

默认是有符号的,存储-128-127;

比如:我们有一列age年龄列,年龄适合用tinyint类型,但年龄又不能为负数,这时候我们就要声明为unsigned无符号类型,如:

create table student(

id int,

age tinyint unsigned

)

整型列的可选属性

tinyint(M) unsigned zerofill;

M:宽度(在零填充的时候才有意义),不会影响存储范围

unsigned:无符号类型(非负),会影响存储范围

zerofill:0填充,默认无符号

zerofill详解:

比如:我们往student表新增一列

alter table student add age2 tinyint(5) unsigned(可写可不写) zerofill;

然后我们再往student表插入一行数据时:

insert into student(id,age2) values(1,255);

表里显示的数据会是

id  age2

1   00255

位数不够时,用0来填充就是这个意思。

另外,smallint,mediumint,int,bigint用法也是大同小异,此处就不多说了。

浮点型与定点型:

float(M,D),decimal(M,D)

M:代表精度,即总位数(不包含小数点)

D:代表标度,即小数位数

比如float(6,2),代表的取值范围为-9999.99-9999.99

注意:和整型有一点不同的是float的M是影响它的取值范围的,而整型则不会。

float和decimal的区别在于:decimal表达的值更精确,比如我们创建一张商品表:

create table goods(

id int primary key auto_increment,

floatprice float(9,2) not null default 0.00,

decimalprice decimal(9,2) not null default 0.00);

然后插入一行数据:

insert into (name,floatprice,decimalprice) values('法拉利',1234567.23,1234567.23);

goods最终显示的结果是:

id   name   floatprice   decimalprice

1    法拉利  1234567.25   1234567.23

由此可见它们谁更加精确了。

字符型:

char(M),varchar(M)

类型

宽度

可存字符

实存字符(i<=M)

实占空间

利用率

char

M

M(0-255字节)

i

M

i/M<=100%

varchar

M

M(0-65535字节)

i

i字符+(1-2个字节)

i/(i+1-2)<100%

char和varchar的主要区别:

1.char:定长,M个字符,如果存的小于M个字符,实占M个字符,如果不够M个字符,内部会用空格来补全;

如果某列尾部值存在空格,用char的话会造成空格的丢失:

比如我们创建一张学生表:

create table stu(

id int primary key auto_increment,

name char(8) not null default '',

waihao varchar(8) not null default '');

insert into stu(name,waihao) values('lisi  ','lisi  ');

这里某人的姓名就是lisi+两个空格

然后我们查询的时候

select concat(name,'!'),concat(waihao,'!') from stu;这里用concat是为了让大家看出效果

结果为:

id      name      waihao

1       lisi!      lisi  !

可见,char类型的name列的空格丢失了,为什么呢?

因为char类型,我们这里定义了8个字符,我们实际存储的lisi+加两个空格只有六个字符,它内部会再用2个空格再帮我们补全8个字符,而当我们查询的时候,它会把后面的空格全部去掉,这样就造成我们空格的丢失了。

varchar:变长,M个字符,如果存的小于M个字符,设为N,N<=M,实占N个字符

2.它们的利用率

3.速度上char会比较快

char和varchar的选择原则,以下三方面来考虑:

1.空间利用率,比如四字成语表,就可以用char(4),可以保证空间百分百利用;

而像个人简介,微博这种就应该用varchar;

2.速度上,比如用户名,如果用char,可能会浪费几个字节空间,但从速度上来考虑,当用户注册量非常大的时候,还是选择用char比较好。

最后还有一个text类型的,它是文本类型,可以存储比较大的文本段,搜索速度稍慢,因此如果不是特别大的内容,建议用char,varchar来代替;

text还有一个要注意的:不能给text类型的字段加默认值。

三、日期/时间类型

1.year

1个字节,表示1901-2155年,[0000,表示错误时的选择]

如果输入两位,'00-69',则表示的是2000-2069年;'70-99',则表示的是1970-1999年;

如果嫌记得麻烦,就四位一起输咯。

2.date

典型格式:1990-09-14;

表示的范围:1000-01-01 到 9999-12-31

3.time

典型格式:hh:mm:ss

表示的范围:-859:59:59->859:59:59

4.datetime

典型格式:yyyy-mm-dd hh:mm:ss

表示的范围:1000-01-01 00:00:00->9999-12-31 23:59:59

5.时间戳

1970-01-01 00:00:00到当前的秒数;

一般存注册时间,商品的发布时间并不是用datetime类型来存储,而是用时间戳,

因为datetime虽然直观,但计算不方便。

而用int类型来存储时间戳,方便计算,对于显示来说也方便格式化。

Mysql成语数据库_mysql学习笔记相关推荐

  1. mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结

    本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法.分享给大家供大家参考,具体如下: 1. primary key 主键 特点:主键是用于唯一标识一条记录的约束,一张表最多只能有一个主键,不能 ...

  2. mysql 临时表 事务_MySQL学习笔记十:游标/动态SQL/临时表/事务

    逆天十三少 发表于:2020-11-12 08:12 阅读: 90次 这篇教程主要讲解了MySQL学习笔记十:游标/动态SQL/临时表/事务,并附有相关的代码样列,我觉得非常有帮助,现在分享出来大家一 ...

  3. mysql 分组链接_MySQL学习笔记(四)——分组函数,分组查询,链接查询

    MySQL学习笔记(四)--分组函数,分组查询,链接查询 做者:就叫易易好了 日期:2020/11/18 1.分组函数 功能:用做统计使用,又称为聚合函数或统计函数mysql 分类:web sum函数 ...

  4. mysql数据库管理指导_mysql学习笔记一(数据库管理控制)

    一.数据库常用命令 1 创建数据库 1.1 创建mydb1数据库,使用默认字符集 create database mydb1; 1.2 创建数据库mydb2,字符集使用utf8 create data ...

  5. mysql三大范式_MySQL学习笔记

    1.数据库结构设计 1.总-总体流程图 2.分-[提取属性]业务分析 评价的属性:{用户,课程主标题,内容,综合评分,内容实用,简洁易懂,逻辑分析,发布时间} 问答评论属性:{类型,标题,内容,关联章 ...

  6. mysql innodb 事务_MySQL学习笔记之InnoDB事务实现

    我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式. 同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力. 所以 ...

  7. mysql数据类型选择_MySQL学习笔记(二):MySQL数据类型汇总及选择参考

    本文主要介绍了MySQL 的常用数据类型,以及实际应用时如何选择合适的类型. ******几个通用的简单原则:******* 1. 更小的通常更好.但是要确保没有低估需要存储的值的范围,如果无法确定哪 ...

  8. mysql iif函数_MySQL学习笔记七:常用函数

    一.字符串函数 1.1.CONCAT(str1,str2,...) 作用:将传入的字符连接成一个字符串,任何字符与null进行连接结果都是null. SELECT CONCAT(`name`,'-', ...

  9. MySQL编程技巧_MySQL学习笔记---MySQL开发技巧

    SQL语句分类 DDL:数据定义语言 --- CREATE.ALTER.DROP.TRUNCATE TPL:事务处理语言 --- COMMIT.ROLLBACK.SAVEPOINT.SET TRANS ...

最新文章

  1. 十进制 转换为 二进制
  2. django项目mysql中文编码问题
  3. elf文件中的.plt .rel.dyn .rel.plt .got .got.plt的关系
  4. 计算机应用基础第九章在线测试答案,郑大计算机应用基础第9章节在线测试答案...
  5. 2019标杆案例复盘(上):数字化——金融政企篇
  6. 对计算机的理解大一1000,大一计算机实训报告总结范文-求计算机实习报告1000字左右,急急急?...
  7. free: seconds argument `1‘ failed
  8. 使用此首选项可加快Eclipse m2e配置
  9. 对Leader的闲话
  10. 【zookeeper系列】centos7安装zookeeper
  11. hiho一下 第六十四周 Right-click Context Menu
  12. 1-1 二进制/源码/zip安装和升级
  13. Excel在统计分析中的应用—第二章—描述性统计-Part5-峰度(峰值和矩峰度系数)
  14. STM32下移植UCOSIII
  15. 游戏外挂的几种实现类型与方式
  16. 【2】C++语法与数据结构之MFC_CList学生管理系统_链表内排序_函数指针
  17. 03 ,线性代数 :集合,空间,群,阿贝尔群,向量,向量空间
  18. android 环境一键,一键切换Android应用环境(Environment Switcher)
  19. 用户账户计算机管理员密码,电脑管理员密码是什么
  20. sklearn.exceptions.NotFittedError: Estimator not fitted, call fit before exploiting the model.

热门文章

  1. cad脚本合适_CAD之轮胎说|半导体行业观察
  2. java 在线给 word 文件插入书签
  3. 东方不败自宫的真正原因
  4. shell运行java去哪加载jar包_shell脚本启动jar包-jar文件怎么打开
  5. 由于数据丢失,导致Namenode处于安全模式无法退出的解决方案
  6. 计算机应用要不要学剪辑,【剪辑劝退篇】剪辑师从入门到放弃只需要这五步!...
  7. 看门狗子程序 c语言,X25045看门狗电路硬件连接图及C语言看门狗程序
  8. Win10提示0xc004f074
  9. TINA超级好用的电路仿真软件 中文版 下载 含用户指南入门使用教程
  10. Android录音并播放(mp3或amr格式)