Mysql基础

来源:互联网 发布:淘宝什么是自主访问 编辑:程序博客网 时间:2024/05/22 02:19

SQL

结构化查询语言
- DDL
数据定义语言,用来维护存储数据的结构,如建库建表等操作语句
- DML
数据操作语言,用来对数据进行操作,如增删改查等语句
- DCL
数据控制语言,主要负责用户的权限管理等

数据库基本操作

  • 新增数据库
    Create database 数据库名 库选项;
    库选项用来约束数据库,用户设置字符集和校对集等
  • 查看数据库
    show databases;
    查看所有数据库
    Show databases like ‘pattern’;
    pattern为匹配模式,%匹配多个字符,_表示匹配单个字符

  • 查看数据库创建语句
    show create database 数据库名;
    执行后可查看数据库创建的语句

  • 更新数据库
    Alter database 数据库名 库选项;
    数据库名字不可以修改,只能更改库选项
  • 删除数据库
    Drop database 数据库名字;
    执行后删除数据库,数据不可恢复。

数据表基本操作

  • 指定数据库
    Create table 数据库名.表名();
    use 数据库名;
    创建数据表时必须指定数据库,有以上两种方式
  • 新增数据表
    **Create table if not exists 表名(
    字段名字 数据类型 列属性,
    字段名字 数据类型 – 最后一行不需要逗号
    )表选项;**

    If not exists: 如果表名不存在,那么就创建,否则不执行创建代码: 检查功能
    表选项: 控制表的表现
    字符集: charset/character set 具体字符集; – 保证表中数据存储的字符集
    校对集: collate 具体校对集;
    存储引擎: engine 具体的存储引擎(innodb和myisam)
    列属性:NULL/NOT NULL, default, Primary key, unique key, auto_increment,comment等

  • 查看数据表
    show tables;
    查看库中所有表
    show tables like ‘pattern’;
    模糊匹配表名进行查看,模糊匹配规则同上
  • 查看表的创建语句
    show create table 表名;
    查看创建表的sql语句
  • 查看表结构
    show columns from 表名;
    查看表中各个字段信息

修改数据表

  • 修改表名
    rename table 老表名 to 新表名;
  • 修改表选项
    Alter table 表名 表选项 = 表选项值;
    修改数据表字符集、校对集、存储引擎
  • 新增字段
    Alter table 表名 add column 字段名 数据类型 列属性 位置;
    可以指定插入新字段的位置,first为第一个,after+字段名可放在指定字段后,默认为最后一个字段后
  • 重命名字段
    Alter table 表名 change 旧字段 新字段名 数据类型 属性 位置;
  • 修改字段
    Alter table 表名 modify 字段名 数据类型 属性 位置;
  • 删除字段
    Alter table 表名 drop 字段名;
  • 删除数据表
    Drop table 表名1,表名2…;
    可以一次删除多张表,删除后数据不可恢复

数据操作-CRUD

  • 新增数据
    Insert into 表名 values(值1,值2,…);
    插入所有字段
    Insert into 表名 (字段1,字段2,…) values (值1,值2,…);
    插入指定字段
  • 查询数据(基本用法)
    Select */字段列表 from 表名 where条件;
    基本查询数据语句
  • 更新数据
    Update 表名 set 字段 = 值 where 条件
    没有where条件跟新全部
  • 删除数据
    Delete from 表名 where 条件;

MySql数据类型

  • 数值
    • 整数型
      五种整型,范围区间和所占内存不同,由小到大排列:
      **Tinyint(常用)
      Smallint
      Mediumint
      Int(常用)
      Bigint**
    • 小数型
      • 浮点型
        **Float: 单精度
        Double: 双精度**
      • 定点型
        Decimal:定点型,理论上不会丢失精度
  • 字符串

    • char定长
    • varchar变长
    • Text存储文字
    • Blob存储二进制数据
    • Enum枚举
    • Set字符串集合
  • 时间日期

    • Datetime:格式是YYYY-mm-dd HH:ii:ss
    • Date :datetime中的date
    • Time :时间段
    • Timestamp :时间戳
    • Year:年份
原创粉丝点击