zoukankan      html  css  js  c++  java
  • Day 34 sql基础

    MySQL操作

    创建表格

    语句:

    create table 表名(
    字段名1 类型 [约束条件],
    字段名2 类型 [约束条件]
    );
    # 注意
    1. 在同一张表中,字段名是不能相同的
    2. 宽度和约束条件可选
    3. 字段名和类型是必须的
    

    实例:

    create table teacher(
    id int auto_increment primary key,
    name varchar(20),
    age int,
    salary decimal
    );
    

    列约束

    auto_increment: 不指定则自增

    primary key: 主键

    NOT NULL: 标识字段不能为null

    DEFAULT: 为该字段设置默认值

    列类型

    整型

    1. tinyint
    2. smallint
    3. int
    4. mediumint
    5. bigint

    注意: 加上unsigned代表不能取负数,只适用于整型

    浮点型

    1. float
    2. double
    3. decimal(总位数, 小数位数)

    字符串

    1. char(长度)
    2. varchar(长度)

    区别:

    char: 固定长度,无论插入多少个字符都是占用固定长度的字节数,可以用来存放身份证,手机号,md5加密的值等

    varchar: 可变长度,根据插入的字符串来计算所占的字节数,但是有一个字节来保存字符串的大小

    注意: 如果不能确定插入数据的大小,一般建议使用varchar(255)

    时间类型

    1. year
    2. time
    3. date
    4. datetime
    5. timestamp

    枚举

    enum

    实例:

    create table teacher_info(
    id int auto_increment primary key,
    name varchar(20),
    gender enum(male, female)
    )
    

    修改表格

    修改表名

    alter table 旧表名 rename 新表名

    增加字段

    alter table 表名
    add 字段名 列类型[约束条件],
    add 字段名 列类型[约束条件];
    

    上面添加的列永远在最后一列之后

    alter table 表名
    add 字段名 列类型[约束条件] first;
    

    将列添加到第一列之前

    alter table 表名
    add 字段名 列类型[约束条件] after 字段名;
    

    将列添加到选择的字段名之后

    删除字段

    alter table 表名 drop 字段名
    

    修改字段

    alter table 表名 modify 字段名 类型 [约束条件]
    

    修改已存在的字段的类型和约束条件

    alter table 表名 change 旧字段名 新字段名 新数据类型 [约束条件]
    

    修改旧的字段名为新的字段名,并设置新的数据类型和约束条件

    删除表格

    drop table 表名
    

    查询表格

    show tables
    

    复制表结构

    create table 表1 like 表2
    

    将表2复制给表1

    表格数据的增删改查

    增加数据

    insert into 表名 (列1, 列2, ...) values (值1, 值2, ...)
    

    删除数据

    delete from 表名 where 条件
    

    不加where条件就会删除表内的所有数据

    truncate 表名
    

    delete和truncate的区别:

    1. delete是一行一行的删,truncate是全选删除,truncate的执行速度比delete快
    2. delete之后,插入数据从上一次主键增加1开始,truncate直接从1开始

    修改数据

    update 表名 set 列名1 = 值1, 列名2 = 值2 where 条件
    

    查找数据

    select * from 表名 where 条件
    

    数据过滤

    1. =,<,>,<=,>=,<>,!=
    2. between...and...
    3. distinct
    4. like(模糊查找)
  • 相关阅读:
    strpos与strstr之间的区别
    jquery 滚动效果插件
    自定义加密解密函数
    access变转换为mysql表工具
    CI学习总结
    表单验证
    解决国外模板h1、h2、h3...不显示中文文章标题的问题
    leetcode Largest Rectangle in Histogram
    leetcode Remove Duplicates from Sorted List
    leetcode[82] Remove Duplicates from Sorted List II
  • 原文地址:https://www.cnblogs.com/2222bai/p/11760079.html
Copyright © 2011-2022 走看看