zoukankan      html  css  js  c++  java
  • MySQL入门

    MySQL入门

    数据库简介:

    • 用途:用于存储生活的几乎一切数据,如:身份、住房、车票、网站、...

    • 概念:数据库服务器、数据库、数据表、一行数据(一条)、一列数据(字段)

    • 分类:

      • 关系型数据库:mysql、oracle、SQL server、...

      • 非关系型数据库:Redis、MongoDB、...

    • 发展:口述

    • SQL:Structured Query Language,结构化查询语言

    • SQL分类:

      • 数据定义语言:DDL

      • 数据操作语言:DML

      • 数据查询语言:DQL

      • 数据控制语言:DCL

      • 数据事务语言:DTL

    MySQL(ubuntu)安装:

    • 安装:sudo apt-get install mysql-server

      • 若安装出现系统服务问题,很可能是自己添加系统服务的问题,移除即可

    • 安全配置:sudo mysql_secure_installation

      • 按照提示,一路进行下去

      • 设置支持远程连接,为后面做准备

    • 连接测试:mysql -h host -u user -p

      • -h:指定主机,localhost/127.0.0.1表示本机,本机可以省略

      • -u:指定用户,默认只有root用户

      • -p:指定密码,输入密码时要与登录分开,以防不测

      • 示例:mysql [-hlocalhost] -uroot -p,然后根据提示输入密码

        • 端口:3306

        • 退出:h 或 help;

        • 说明:所有的命令都是以';'结尾

    数据定义语言(DDL)

    • 查看库:show databases;,会显示数据库服务器上所有的数据库

    • 创建库:create database test;,创建数据库test

    • 删除库:drop database test;,删除数据库test

    • 选择库:use test;,选择数据库test

      • 查看当前选中数据库:

        • show tables;

        • select database();

    • 查看表:show tables;,查看当前选中数据库中的数据表

    • 创建表:create table user(username varchar(20), password char(32));

    • 查看表结构:desc user;

    • 删除表:drop table user;

    • 查看创建方式:

      • 库:show create database test;

      • 表:show create table user;

    • 修改字符集:

      • 创建时指定:在创建表的语句后指定字符集。

      • 修改配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,在[mysqld]后面添加

        • character-set-server=utf8

        • 重启服务:sudo service mysql restart

        • 说明:以后再创建的库中的表默认字符集就是utf8

    • 修改字段:alter table user modify username char(30);,不能修改名字

    • 添加字段:

      • 默认(最后)添加:alter table user add age int(3);

      • 在指定字段后添加:alter table user add email varchar(60) after password;

      • 在最开始出添加:alter table user add id int(11) first;

    • 删除字段:alter table user drop age;

    • 修改字段名称:alter table user change email em char(32);

    • 修改位置及名称:add/change/modify

      • alter table user modify em char(32) first;

    • 修改表名:alter table user rename new_user;

    数据类型

    • 整型:tinyint(1个字节)、smallint(2个字节)、mediumint(3个字节)、int(4个字节)、bigint(8个字节)

    • 浮点类型:

      • float(m, d),单精度浮点数,4个字节,m表示总位数,d表示小数位数

      • double(m, d),双精度浮点数,8个字节,m表示总位数,d表示小数位数

      • decimal(m, d),以字符串的形式存储浮点数,用于金融领域等要求严格的场景

    • 字符类型:

      • char:定长字符串,0~255个字节

      • varchar:变长字符串,0~65535个字节

    • 时间日期:

      • date:日期,格式:2018-04-16

      • time:时间,格式:15:36:30

      • datetime:日期时间,格式:2018-04-16 15:37:38

      • timestamp:时间戳

      • year:年,只占1个字节,年份范围:1901~2155

    • 符合类型:

      • set:集合类型,格式:set(s1, s2, ..., s63),最多63种可能

      • enum:枚举类型,格式:enum(e1,e2, ... ,e65535),最多65535种可能

    • 字段修饰:

      • unsigned:无符号数

      • zerofill:高位0填充,防止出现负数

      • auto_increment:自动增加(1),用于整数,经常与主键结合使用

      • default:设置默认值

      • not null:不能为空

    • 字符集及存储引擎

      • 查看支持的字符集:show character set;,我们通常只使用utf8,不能书写成utf-8

      • 查看支持的存储引擎:show engines;

        • 常用存储引擎:MyISAM和InnoDB

    • 索引:

      • 说明:简单理解,就是一本书最前面的目录,虽然可以提高读取效率,单并非越多越好。

      • 分类:

        • 普通索引(index):最基本的索引

        • 唯一索引(unique):修饰的字段不能重复

        • 主键索引(primary key):是一种特殊的唯一索引,一张表中只能有一个字段设置

        • 全文索引(fulltext):多全局数据添加索引。

      • 示例:

        alter table user add index(em);             # 给em字段添加普通索引
        alter table user add unique(username); # 给username字段添加唯一索引
        alter table user add primary key(id); # 将id设置为主键索引

        alter table user drop index em; # 删除em字段的普通索引

        alter table 表名add fulltext(字段);

    • 很多选项都可在创建表时指定,如:

      create table user(
      id int auto_increment,
      name varchar(20),
      primary key(id),
      unique(name)
      )engine=innodb default charset=utf8;

      

  • 相关阅读:
    c#大圣之路笔记——c# 页面加载数据过长等待显示框
    Python(五)
    Python(四)
    Python(三)
    python(二)数据类型与变量
    初识Python
    Linux初识(九)
    Linux初识(八)正则表达式
    Linux基础初识(七)
    Linux基础初识(六)
  • 原文地址:https://www.cnblogs.com/kiki5881/p/8861971.html
Copyright © 2011-2022 走看看