Mysql 数据库学习笔记

Mysql 数据库 Linux 版本学习笔记

最近在阿里云花92块钱买了一台最低配置的学生主机(一年),感觉赚到了,所以准备利用这个服务器好好学习一下有关数据库和Linux的内容,我用的是Ubuntu。

下面是我学习MySQL过程中的一些笔记,记录在此便以后查询和以后回顾自己的学习路径。

常用的一些SQL命令及解释

命令操作说明
mysql -u root -p passwd登录数据库
show databases;显示所有中的数据库
create database firstDB;(数据库名字)创建数据库
use firstDB;进入一个数据库
show tables;显示上面进入的数据库中的所有表
create table table_first (id varchar(20),name varchar(20));创建一个有两列的表
show create table table_first;显示创建table_first表的sql语句
desc(describe) table_first;(表名)显示这个表中的字段和描述信息
insert into table_first(表名) values (“001”,“mike”);向表中插入数据
select * from table_first(表名);从表中查询数据
select * from table_first(表名) where id=“002”(表中的字段来添加限制信息)条件查询,即从表table_first中查询id=002的用户
select * from first_table where name like “%wu%”从表first_table中查询名字包括"wu"字符的用户
select * from first_table where name like “%wu%” limit 3从表first_table中查询名字包括"wu"字符的用户,并且只显示前面的三个用户
grant all on firstDB.* to user_first@“localhost” identified by “123”;授权读写权限给user_first用户本地访问这个数据库 密码是123
drop database myDB(数据库名字)删除一个数据库
grant select on firstDB.* to user_select @‘localhost’ identified by ‘123’给user_select用户授予可以查询的权限,可以从本地登录,密码是123
drop table first_table;删除这个表
mysql -u root -p ****(passwd) firstDB > firstDB.sql导出或者备份firstDB这个数据库
delete from table_first where id=‘002’;删除Id等于002的用户
show variables like ‘%char%’查看数据库字符集
mysqladmin -u 用户名 -p 旧密码 password 新密码修改用户密码
select database();显示当前连接的服务器
select version();显示当前服务器的版本
select now();显示当前的时间
select user();显示当前的用户
alter database test(数据库名) character set latin1;修改数据库test的编码格式为拉丁语
use test;show variables like ‘character%’;查看数据库test的编码格式

数据库中的数据类型

  • 数值类型—整型,浮点型,定点型;
  • 日期时间类型
  • 字符串类型
整型
数据类型存储范围字节
TINYINT有符号:-128到127无符号:0到2551
SMALLINT有符号:-32768到32767无符号:0到655352
MEDIUMINT有符号:-8388608到8388607无符号:0到167772153
INT有符号:-2147483648到2147483647无符号:0到42949672954
BIGINT有符号:-9223372036854到9223372036853无符号:0到(2^64)-18

MySQL中用浮点数和定点数来表示小数

数据类型存储范围
浮点数类型FLOAT[(M,D)]四个字节范围允许的值是:-3.402823466E+38到-1.175494351E-38,和0到10175494351E-38到3.402823466E+38;
定点数类型DECIMAL[(M,D)]M是精度,(=整数位小数位),D是标度,(小数点后的位数)

浮点型在数据库中存放的是近似值,而定点型在数据库中存放的是精确值

日期时间类型
列类型字节数取值范围表示形式
YEAR11901~2155YYYY
TIME3-838:59:59~838:59:59HH:MM:SS
DATE41000-01-01~9999-12-31
DATETIME81000-01-01~9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS
TIMESTAMP419700101080001~20380119111407YYYY-MM-DD HH:MM:SS
字符类型
列类型存储需求
CHAR(M)M个字节,0<=M<=255
VARCHAR(ML+1个字节,其中L<=M且0<=M<=265535
TINYTEXT0~255
TEXT0~65535
MEDIUMTEXT0~(2^24)-1
LONGTEXT0~(2^32)-1
ENUM(‘value1’,‘value2’,……取决于枚举值的个数(最多65535个),例如:性别 enum(‘男’.‘女’)
SET(‘value1’,‘value2’……)取决于set成员的数目(最多64个成员)
添加一个列
alter table reader add isbn varchar(20);//,默认会添加在最后的列
alter table reader add isbn varchar first;//会添加在第一个列的前面,即取代首列
alter table reader add isbn varchar after name;//添加在nam这个列的后面
更改列名
alter table reader change test first char(10);//把列名test改成first
修改列的数据类型
//把表reader中的first列的数据类型改成char(20);
alter table reader modify first char(20);
修改列的排列位置
//把name列移到第一个位置
alter table reader modify name varchar(10) first;
//把first列移到name列的后面
alter table reader modify fisrt char(20) after name;
删除一个列
//删除名位test的列
alter table reader drop test;
更改表名
//把表reader的表名改成readerinfo;
alter table reader rename to readerinfo;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值