zoukankan      html  css  js  c++  java
  • mysql 基本操作

    环境准备
    克隆一台新的rhel7虚拟机
    配置yum源
    关闭防火墙
    禁用selinux
    配置好ip地址
    ++++++++++++++++++++++



    一、基础入门
    1.1 什么是数据库?是一种服务,存储数据的仓库
    1.2 提供服务的软件有那些?
    Mysql Oracle SQL SERVER mongodb DB2

    选软件考虑的因素?
    是否跨平台 (Linux Unix Windows)
    Redhat

    开源软件 or 商业软件

    即开源又跨平台?

    软件包的来源? 从官网下载 安装光盘自带
    mysql mariadb-server

    软件的封包类型? rpm 源码包

    1.3 搭建MYSQL数据库服务器并设置数据库管理员本机登录的

    密码为123456
    a 购买服务器(存储 CPU 内存) DELL HP 联想
    b 安装操作系统RHEL7.2
    c 安装提供数据库服务的软件包(mysql)
    # rpm -qa | grep -i mariadb
    # rpm -e --nodeps mariadb-libs
    # rpm -qa | grep -i mariadb
    #rm -rf /etc/my.cnf
    #yum -y install perl-Data-Dumper perl-JSON
    # tar -xvf xxxx.tar
    # rm -rf mysql-community-server-minimal-5.7.17-

    1.el7.x86_64.rpm
    #rpm -Uvh mysql-community-*.rpm
    #rpm -qa | grep -i mysql
    #systemctl start mysqld
    #systemctl status mysqld
    #systemctl enable mysqld

    服务名 mysqld
    进程名 mysqld
    进程的所有者/组 mysql/mysql
    数据传输协议 tcp
    端口号 3306
    主配置文件 /etc/my.cnf
    数据库目录 /var/lib/mysql
    日志文件 /var/log/mysqld.log

    客户端访问数据库服务器(命令行 图形工具)
    *没有授权时,只允许数据库管理员root用户从本机访问
    #mysql -hlocalhost -uroot -p密码

    [root@localhost ~]# grep -i "password"

    /var/log/mysqld.log
    2017-06-19T02:07:11.746572Z 1 [Note] A temporary

    password is generated for root@localhost: *?F(sfa;M3jy
    [root@localhost ~]#
    [root@localhost ~]# mysql -hlocalhost -uroot -p"*?F

    (sfa;M3jy"
    mysql> set global validate_password_policy=0;
    mysql> set global validate_password_length=6;
    mysql> alter user root@"localhost" identified by

    "123456";
    mysql>quit

    [root@localhost ~]# mysql -hlocalhost -uroot -

    p123456
    mysql> show databases;
    mysql>quit

    vim /etc/my.cnf
    [mysqld]
    validate_password_policy=0
    validate_password_length=6
    :wq
    # systemctl restart mysqld
    #mysql -hlocalhost -uroot -p123456
    mysql>

    数据库服务通常和网站服务一起使用。LAMP LNMP
    购物网站 游戏网站 论坛网站 金融网站 php java html css

    数据库存储那些数据?注册帐号和密码
    购物信息
    储蓄信息
    帖子内容

    1.4 数据库服务的基本使用
    把数据存储到数据库服务器上的过程?
    1 连接数据库服务器
    mysql -hlocalhost -uroot -p123456
    2 创建新库 (文件夹)
    3 创建表(文件)
    4 向表中插入记录
    5 查看记录
    6 断开连接

    SQL命令使用规则?
    每条命令必须以;结尾
    命令不区分字母大小写
    c 结束命令


    管理库的相关命令
    show databases;
    create database 库名;
    select database();
    use 库名;
    show tables;
    drop database 库名;

    管理表的相关命令
    create table 表名(字段名 类型(宽度),字段名 类型(宽

    度));

    mysql> create table regtab(name char(10),password

    char(6));

    desc 表名;
    desc regtab;


    帐号名 密码
    plj 123456 记录
    jim 654331
    tom 111199

    insert into regtab values("plj","123456"),

    ("jim","654321"),("tom","111199");

    select * from 表名
    select * from regtab;

    delete from 表名;
    delete from regtab;

    drop table 表名;
    drop table regtab;

    表名和库名的命名规则?
    具有唯一
    区分字母大小写
    使用数字 字母 _ 命名 、不允许是纯数字
    不允许使用特殊符号 和 命令关键字
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    mysql数据类型
    字符类型 姓名 家庭地址 籍贯
    char 255 定长
    varchar 65532 变长

    大文本类型
    text
    blob

    create database studb;
    use studb;
    create table t1(
    name char(10),
    homeaddr varchar(50)
    );

    insert into t1 values("lucy","beijing");
    select * from t1;

    create table t2(image blob,name text);
    t1 t2
    name name
    char(10) varchar(10)
    a abc

    数值类型 : 年龄 成绩 身高 体重 工资
    11 12.23
    +11 -19.23
    -12

    整型 (根据存储数字的范围又 划分为如下类型)
    有符号 无符号
    tinyint -128~127 0-255
    smallint
    MEDIUMINT
    int
    bigint

    create table t5(name char(10) ,age tinyint

    unsigned);

    create table t6(name char(10) ,age tinyint ,level

    tinyint);

    create table t7(name char(10) ,age tinyint

    unsigned,level tinyint);

    insert into t7 values("jim",-11,101);


    数值类型的宽度 是显示宽度,不能够控制给字段赋值,字段值的

    大小由类型决定。

    create table t8(name char(3),level int(3));
    insert into t8 values("lucy",10224);

    create table t12 (id int(2) zerofill,level int zerofill);
    insert into t12 values(9,7);


    浮点型 (能存储带小数点的数) 19.23 21.75
    float
    double

    整数.小数
    1023.88
    xxx.xx
    999.99
    -999.99
    float(5,2)

    create table t13 (name char(10),age tinyint(2)

    unsigned,pay float(7,2));

    insert into t13 values("bob",21,18800.23);
    insert into t13 values("tom",29,118800.23);
    +++++++++++++++++++++++++++++++
    日期时间类型 注册时间 上课时间 开会时间 生日 入职
    年 year YYYY 2017
    日期date YYYYMMDD 20170619
    时间time HHMMSS 160258
    日期时间类型YYYYMMDDHHMMSS 20170619160258
    datetime
    timestamp

    create table t14 (
    name char(10),
    age tinyint(2) unsigned,
    pay float(7,2),
    s_year year,
    birthday date,
    up_class time,
    meetting datetime
    );

    insert into t14 values

    ("bob",21,18800,1990,20170818,083000,20170707204

    523);

    使用时间函数给日期时间类型字段赋值
    now()
    year()
    date()
    month()
    day()
    time()

    insert into t14 values("lilei",21,18800,year(now

    ()),date(now()),time(20150718231458),now());

    insert into t14 values("hanmm",21,18800,now(),now

    (),now(),now());

    使用2位数字给year字段赋值,要遵循如下规律?
    01-69 20XX
    70-99 19XX
    00 0000
    100 报错

    insert into t14 values("lee",21,18800,69,now(),now

    (),now());


    datetime与timestamp 的区别?

    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;

    +++++++++++++++++++++++++
    枚举类型 性别 专业 科目 爱好
    (字段值只能在列举的范围内选择)
    enum(值列表) 单选
    set (值列表) 多选

    create table t16 (
    name char(10),
    age tinyint(2) unsigned,
    sex enum("boy","girl","no"),
    likes set("it","book","film","game")
    );

    insert into t16 values("bob",21,"boy","it,game");
    insert into t16 values("jim",21,"no","music,game");
    insert into t16 values("jerry",21,2,"it,game")

    mysql> desc mysql.user;
    mysql> desc mysql.tables_priv;


    字段约束条件:功能限制如何给字段赋值
    Null 字段是否允许赋null值 空 默认允许赋null值
    Key 索引
    Default 字段的默认值,默认值的值是null
    不给字段赋值值使用默认值给字段赋值
    default 值

    Extra 额外设置(自动增长)

    create table t17 (
    name char(10) not null ,
    age tinyint(2) unsigned default 22 ,
    sex enum("boy","girl","no") not null default "boy",
    likes set("it","book","film","game") default "it,book"
    );

    insert into t17(name) values("bob");
    insert into t17 values("jim",29,"no","film,game");
    insert into t17 values("",NULL,"boy",NULL);
    insert into t17 values("NULL",NULL,"boy",NULL);
    insert into t17 values(null,NULL,"boy",NULL);

    在ip地址是 192.168.4.101上部署数据库服务并设置数据库管理员的密码是abc123 创建studb库 创建存储学生信息的表stuinfo

  • 相关阅读:
    DataList小结(转载)
    ISAPI筛选器及对ASP源文件的保护
    VC中静态变量Static
    其他
    Android TabHost的使用
    有关Android线程的学习
    android 中LayoutInflater 的使用
    Java与VC中的基本数据类型的相关知识
    Java中的finalize()、final、fianlly
    Animations介绍及实例
  • 原文地址:https://www.cnblogs.com/fuzhongfaya/p/8952743.html
Copyright © 2011-2022 走看看