• ADADADADAD

    初识Mysql(一)[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:55:59

    作者:文/会员上传

    简介:

    1搭建数据库服务器2MYSQL数据类型3 修改表结构1搭建数据库服务器1.1 存在mariadb时:#systemctl status mariadb#systemctl stop mariadb#rpm -e --nodeps mariadb-libs #不依

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    1搭建数据库服务器


    2MYSQL数据类型


    3 修改表结构



    1搭建数据库服务器

    1.1 存在mariadb时:

    #systemctl status mariadb

    #systemctl stop mariadb

    #rpm -e --nodeps mariadb-libs #不依赖关系卸载

    #rm -rf /etc/my.cnf

    #rm -rf /var/lib/mysql/*

    1.2 新安装时

    [root@ser51 ~]# yum -y install perl-Data-Dumper perl-JSON

    [root@ser51 ~]# rpm -Uvhmysql-community-*.rpm

    #无论软件存在与否都执行升级

    [root@ser51 ~]# rpm -qa | grep -i mysql

    1.3启动服务

    服务名称:mysqld

    端口号:3306

    主配置文件:/etc/my.cnf

    数据库目录:/var/lib/mysql启动服务,数据数初始化会生成文件

    日志文件:/var/log/mysqld.log

    服务脚本:/usr/lib/systemd/system/mysqld.service

    1.4 连接数据库

    [root@ser51 ~]# which mysql

    /usr/bin/mysql

    [root@ser51 ~]# rpm -qf /usr/bin/mysql #询问文件属于哪个包

    mysql-community-client-5.7.17-1.el7.x86_64

    [root@ser50 ~]# mysql -u root -p密码

    [root@ser50 ~]# mysql -h 服务器 -u用户名 -p密码 数据库

    查看登录的初始密码:

    [root@ser51 ~]# grep password /var/log/mysqld.log

    登录:

    [root@ser51 ~]# mysql -uroot -p'5;wG)DluZ)#Q' #特殊符号用单引

    1.5 临时登录生效

    第一次登录需要重新设置密码才能查看数据库信息

    设置全局密码验证策略:

    mysql> set global validate_password_policy=0;

    设置全局变量密码长度:

    mysql> set global validate_password_length=6;

    mysql> alter user root@"localhost" identified by "123456" #修改密码

    1.6 全局永久生效

    [root@ser51 ~]# vim /etc/my.cnf

    [mysqld]

    validate_password_policy=0

    validate_password_length=6

    1.7 数据库使用命令

    SQL指令:

    DDL:数据定义语言

    DML:数据操作语言

    DCL:数据控制语言

    DTL:数据事物语言

    mysql> select database(); #查看当前所在的库:

    mysql> create database 库名; #创建数据库

    mysql> use 库名; #切换数据库

    mysql> systemls /var/lib/mysql #不退出操作linux命令

    mysql> drop database 数据库名; #删除数据库

    创建表

    mysql> create table 库名.表名(字段名1 字段类型(宽度) 约束条件, ...);

    mysql> alter table 表名 add 字段 类型(宽度); #增加表字段

    mysql> drop table 库名.表名 #删除表

    mysql> describe 表名 #查看表内字段(desc)

    mysql> insert into 表名 values();

    mysql> select * from 表名;

    mysql> update 表名 set 字段="新值" where 字段="值";

    2MYSQL数据类型

    2.1 数值类型

    tinyint 1字节 -128~127 0~255

    int4字节

    float 4字节 float(m,n) m:总位数 n:小数位位数

    double 8字节

    2.2 字符类型

    定长:char(255) 不写宽度默认为1

    不够指定字符数时在右边用空格补齐(会浪费磁盘空间)

    变长:varchar 按数据实际大小分配存储空间(会消耗CPU资源,每次都会询问需要的储存的空间的大小)

    大文本类型:text/blob

    数值类型的宽度和字符类型的宽度的区别:

    字符类型超出就不能写入数据;

    数值类型的宽度是显示宽度,不能控制给字段赋值的大小,大小由类型本身决定;

    案例:int类型的宽度

    mysql> create table db1.t10(id int zerofill,pay int(3) zerofill);

    #不够字节的用0填充

    mysql> insert into t10 values(25,25);

    mysql> select *from t10;

    +------------+------+

    | id | pay |

    +------------+------+

    | 0000000025 | 025 |

    +------------+------+

    2.3 日期时间类型

    年: year YYYY

    日期:date YYYYMMDD

    时间:time HHMMSS

    日期时间:datetime/timestamp YYYYMMDDHHMMSS

    Datetime占8个字节

    Timestamp占4个字节

    区别:当没有给两者分别赋值时,timestamp自动以当前系统时间赋值,而datetime默认为NULL

    案例:

    create table t15(

    meetting datetime,

    partty timestamp

    );

    insert into t15 values(now(),now());

    insert into t15(meetting) values(20171020091828);

    insert into t15(partty) values(20191020091828);

    select * from t15;

    2.4 时间函数

    now() 获取调用此函数时的系统日期时间

    year() date() time() day() month()

    mysql> select date(now()); #函数可以嵌套

    Year的年份处理:默认使用4位数字表示

    2位数字时:01~69为2000~2069 70~99为1970~1999

    2.5 枚举类型

    字段只能在指定的范围内选择

    格式:

    字段名 enum(值1,值2,值N)单选

    字段名 set(值1,值2,值N) 多选

    案例:

    create table t21(name char(10),sex enum("boy","girl"),

    likes set("film","game","book","food"));

    mysql> insert into t21 values("tom","boy","film,game");

    mysql> insert into t21 values("hai",2,"film,game");#可以用数字表示

    2.6 约束条件

    作用:限制如何给字段赋值

    NULL:空,不设置默认为空 NOT NULL:不允许为空

    Key:索引类型

    Default:默认设置

    Extra:额外设置

    案例:查看约束条件(desc)

    mysql> create table t22(name char(10) not null,

    -> sex enum("boy","girl") default "boy",

    -> age tinyint(2) unsigned not null default 18,

    ->likes set("game","food","book","music") not null

    default "game,book");

    mysql> insert into t22(name) values("tom");

    #其他字段没有写值,使用默认

    mysql> insert into t22 values("jom",1,20,"game,music");

    注意:“null” 和 “” 和 null的区别

    mysql> insert into t22(name) values("null");

    Query OK, 1 row affected (0.04 sec)

    mysql> insert into t22(name) values(null);

    ERROR 1048 (23000): Column 'name' cannot be null

    mysql> insert into t22(name) values("");

    Query OK, 1 row affected (0.03 sec)

    3 修改表结构

    alter table 库.表 执行动作

    3.1 添加新字段

    add 字段名 类型(宽度);

    add 字段名 类型(宽度) 约束条件;

    add 字段名 类型(宽度) 约束条件 first; #添加在第一个

    add 字段名 类型(宽度) 约束条件 after 字段名; #在...之后添加

    add 字段名 类型(宽度),add 字段名 类型(宽度); #添加多个

    案例:

    mysql> alter table t21 add mail char(20);#默认添加在字段最后

    mysql> alter table t21 add id int(4) not null default 0001 first;

    mysql> alter table t21 add class int(4) not null default 1710 after name;

    3.2 删除已有字段

    drop字段名;

    3.3 修改字段类型

    modify字段名 类型(宽度) 约束条件;

    3.4 修改字段名

    change 原字段名 新字段名 类型(宽度) 约束条件;

    3.5 修改表名

    alter table 旧表名 rename (to) 新表名

    初识Mysql(一).docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql初识