mysql数据库基本操作 (数据类型)

装包启服务后会自动生成相关的配置文件

首次运行时会自动生成 root 初始秘密
初始密码在服务日志文件中查找  grep -i password /var/log/mysql.log 

进去mysql


mysql -hlocalhost -uroot -p初始密码


set global validate_password_policy=0;
#修改密码默认等级为0
#0为长度 , 1为字母长度符号,2为字母长度符号,字典文件


set global validate_password_length=6;
#修改密码默认长度要求为6


alter user root@"localhost" identified by '123456';
#修改密码


命令行指令为临时有效,将命令写入配置文件/etc/my.cnf永久生效
写入完成后重启服务即可生效

################################################################
名词解释
DB,DataBase
数据库,依照某种数据模型进行组织并存放到存储器的数据集合
DBMS,DataBase Management System
数据库管理系统,用来操作和管理数据库的大型服务器软件
DBS, DataBase System
带有数据库,数据库管理系统的服务器


########################################################################

sql命令的分类


DDL 数据定义语言
(create alter drop)
DML 数据操作语言
(insert update delete)
DCL 数据控制语言
(grant revoke)
DTL 数据事物语言
(commit rollback savepoint)


###################################################################
2创建库
create database 库名;
#创建库
show databases;
#查看已有库
drop database 库名;
#删除库
select database();
#查看当前所在的库
use 库名;
#进入库


#############################################################################
建表
create table 库名.表名(
字段名 类型(宽度) 约束条件,
字段名 类型(宽度) 约束条件,
...
...
);
create   table   gamedb.stu(
name    char(10), #字符(10)个
age   int #数值
);
insert into 库名.表名 values(值列表);
#插入表记录
select * from  库名.表名;
#查看表记录
delete from 库名.表名;
#删除表记录
desc 库名.表名;
#查看表结构
drop table 库名.表名;
#删除表


###########################################################################
mysql数据类型
数值型:整形、浮点型
整型:根据存储数值的范围整型类型的又分为: 
类型 tinyint smallintmediumintintbigint

用途  微小           小                      中                       大            特大

大小 1字节        2字节               3字节                  4字节         8字节

分为有符号无符号,范围分别为:

有符号 -128~27   -32768~2767    -2^23~2^23-1   -2^31~2^31-1  -2^63~2^63-1

无符号    0~255        0~65535             0~2^24-1             0~2^32-1        0~2^64-1

创建时使用 unsigned 修饰时,对应的字段只保存正数

宽度仅是显示宽度,存储数值的大小由类型决定

使用 zerofill 时,填0代替空格补位

#例如: age int(3)  

     insert in to a values(3)

     数据库显示为 003

数值超出范围时,报错

浮点型:根据存储的范围分为单精度和双精度:
单精度 float(n,m)4字节
双精度 double(n,m)8字节

#n表示总位数,m表示小数位的位数

#例如:float(5,2最大为999.99最小为-999.99

数值类型的宽度是显示宽度不能够限制给字段的赋值的大小,大小由字段类型决定。

################################################################

字符型:

定长: char(字符数)

#最大长度255字符,不够指定字符数时在右边用空格补齐,字符数断超出时,无法写入数据。

变长:varchar

#按数据实际大小分配存储空间,字符数断超出时,无法写入数据。

大文本类型:text/blob

#字符数大于65535存储时使用。

实际生产环境中使用 char 的会相对较多,因为 varchar 会占用一部分CPU资源来计算存储大小。

日期时间型

year YYYY 2017

#year默认用4为数字表示,当只用2位数字赋值时,01~69视为2000~2069

    70~99时为1970~1999

日期 date YYYYMMDD20171220
时间 time HHMMSS155145
日期时间
datetime YYYYMMDDHHMMSS
timestamp YYYYMMDDHHMMSS
datetime 当没有为他赋值时,会显示为空
timestamp 当没有为他赋值时,会使用系统当前时间


#########################################################################
now()
#当前系统的时间
year()
#获取数据中的年
day()
#获取数据中的天
date()
#获取数据中的日期
time()
#获取数据中的时间


########################################################################
枚举类型:字段的值只能在列举的范围内选择
字段名 enum(值列表)
#单选,从给定值集合中选择单个值。
字段名 set(值列表)
#多选,从给定值集合中选择一个或多个值。


########################################################################
设置字段的约束条件:作用限制如何给字段赋值。
Null 是否允许为空 不允许则在类型后面跟NOT Null
Default 设置默认值,缺省为NULL 类型后面跟default


#########################################################################
修改表结构
mysql> alter table 表名 执行动作;


add 字段名 类型(宽度) 约束条件,
#添加新字段,默认在最后。 
add 字段名 类型(宽度) 约束条件 first;
#所有字段的前面
add 字段名 类型(宽度) 约束条件 after 字段名;
#在什么字段后面添加
alter table drop 字段名;
#删除字段
alter table modify 字段 类型(宽度) 约束条件
#修改字段类型
alter table change 原字段名 新字段名 类型(宽度) 约束条件
#修改字段名
alter table 原表名 rename 新表名;
#修改表名





























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值