mysql基本知识学习
2017-08-19 18:15
369 查看
虽然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;
表的字段类型解释:
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 --- OK123.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), c3decimal(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)
浮点数: 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_TIMESTAMP2.自动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 --- OK123.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), c3decimal(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)
相关文章推荐
- MySQL的日志基础知识及基本操作学习教程
- MySQL的日志基础知识及基本操作学习教程
- MYSQL基本知识 学习笔记 1
- mysql基本知识学习
- Oracle 数据库 基础学习 (一) SQL基本知识
- MySQL学习笔记-安装和基本操作
- mysql的一些基本知识
- MySQL 基础得不能再基础的基本语句【学习笔记】
- MySQL 数据库学习 基础知识
- Fortran学习笔记1——基础知识(数据基本类型及其运算)
- 量子学习及思考7-量子基本数学知识
- MATLAB地图工具箱学习总结(三)地图工具箱的基本知识
- MySQL 学习总结-基本语句
- 深度学习基本知识
- MySQL学习6:MySQL基本数据类型
- LINUX下QT+MYSQL学习笔记-基本入门过程
- MySQL学习笔记1----MySQL数据库基本操作
- 2D基本知识入门学习
- Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
- cadence学习:PCB布局基本知识简单介绍