mysql基本知识学习

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

虽然mysql已经被收购了,但是作为市面上主流的数据库,还是要学习下。

MySQL有三大类数据类型, 分别为数字、日期\时间、字符串, 这三大类中又更细致的划分了许多子类型:

  • 数字类型

    • 整数: tinyint、smallint、mediumint、int、bigint

    • 浮点数: float、double、real、decimal

  • 日期和时间: date、time、datetime、timestamp、year

  • 字符串类型

    • 字符串: char、varchar

    • 文本: tinytext、text、mediumtext、longtext

    • 二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob


登录到MySQL

当 MySQL 服务已经运行时, 我们可以通过MySQL自带的客户端工具登录到MySQL数据库中, 首先打开命令提示符, 输入以下格式的命名:

mysql -h 主机名 -u 用户名 -p

  • -h : 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略;

  • -u : 所要登录的用户名;

  • -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。


 mysql -D test  -uroot -p  相当于登陆mysql服务器. use test;



创建新用户并授权

   GRANT 权限  ON 数据库.数据表 TO 用户名@登陆主机 IDENTIFIED BY "密码";

  


   GRANT SELECT,UPDATE  ON  test.*  TO  qingqing@localhost IDENTIFIED BY   '123';

创建数据库:

     CREATE DATABASE  [ IF NOT EXISTS  ] book;

 

删除数据库

     DROP DATABASE [  IF EXISTS ]  book;


显示所有的数据库:

    SHOW DATABASES;


使用某个数据库:

    USE  test


查看表的结构

       DESC  user;


查看建表语句:

     SHOW CREATE TABLE  user;


 添加字段   ALTER TABLE user ADD age TINYINT


 修改字段  ALTER TABLE user MODIFY age int


 修改字段(同时修改字段名)   ALTER TABLE user CHANGE name username varchar(30)


 删除字段  ALTER TABLE user DROP age;


重命名表名  RENAME   TABLE   user TO  user1;



表的字段类型解释:

        

     mysql中timestamp的自动生成与更新


 1、自动UPDATE 和INSERT 到当前的时间:

     `p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

      

   2.自动INSERT 到当前时间,不过不自动UPDATE。

`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP


      3、一个表中不能有两个字段默认值是当前时间,否则就会出错




MySQL中存在float,double等非标准数据类型,

也有decimal这种标准数据类型。

其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值。



再举例: DECIMAL(5,3)

1.2345 --- 小数点后最多3位,所以保存可以,自动四舍五入数据截断。

12.345 --- OK

123.45 --- 因为小数部分未满3位,要补0.所以保存应该123.450。所以整个位数超出了5,保存不可。

1.2 --- 小数未满部分补0。按照1.200保存。



float(M,S) M为全长,S为小数点后长度 (开头0不算)。对于不精准的例子,网络上很多,Copy如下:

mysql> create table t1(c1 float(10,2), c3 decimal(10,2)); 

Query OK, 0 rows affected (0.02 sec)

mysql> insert into t1 values(9876543.21, 9876543.12);            

Query OK, 1 row affected (0.00 sec)

本文转自xinsz08の平行时空博客51CTO博客,原文链接http://blog.51cto.com/xinsz08/1812477如需转载请自行联系原作者

维度2018
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 关系型数据库 MySQL
|
1月前
|
SQL 存储 关系型数据库
【MySQL 数据库】11、学习 MySQL 中的【锁】
【MySQL 数据库】11、学习 MySQL 中的【锁】
76 0
|
存储 关系型数据库 MySQL
|
2月前
|
SQL 缓存 关系型数据库
MySQL技能完整学习列表6、查询优化——3、查询缓存——4、SQL优化技巧
MySQL技能完整学习列表6、查询优化——3、查询缓存——4、SQL优化技巧
63 0
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】4、MySQL 事务学习
【MySQL 数据库】4、MySQL 事务学习
44 0
|
11天前
|
SQL 存储 关系型数据库
6本值得推荐的MySQL学习书籍
本文是关于MySQL学习书籍的推荐,作者在DotNetGuide技术社区和微信公众号收到读者请求后,精选了6本值得阅读的MySQL书籍,包括《SQL学习指南(第3版)》、《MySQL是怎样使用的:快速入门MySQL》、《MySQL是怎样运行的:从根儿上理解MySQL》、《深入浅出MySQL:数据库开发、优化与管理维护(第3版)》以及《高性能MySQL(第4版)》和《MySQL技术内幕InnoDB存储引擎(第2版)》。此外,还有12本免费书籍的赠送活动,涵盖《SQL学习指南》、《MySQL是怎样使用的》等,赠书活动有效期至2024年4月9日。
|
16天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
2月前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表10、数据导入和导出——1、数据导入(LOAD DATA, mysqldump)——2、数据导出(SELECT ... INTO OUTFILE, mysqldump)
MySQL技能完整学习列表10、数据导入和导出——1、数据导入(LOAD DATA, mysqldump)——2、数据导出(SELECT ... INTO OUTFILE, mysqldump)
48 0
|
2月前
|
存储 SQL 关系型数据库
MySQL技能完整学习列表7、存储过程和函数——1、存储过程(Stored Procedures)的创建和执行——2、函数(Functions)的创建和使用
MySQL技能完整学习列表7、存储过程和函数——1、存储过程(Stored Procedures)的创建和执行——2、函数(Functions)的创建和使用
35 0
|
存储 SQL 关系型数据库