• day34


    操作表

    语法:

    ​ create table 表名(

    ​ 字段名 列类型 [可选参数],

    ​ 字段名 列类型 [可选参数]#最后一行不加逗号

    )charset=utf-8;#后面必须加分号

    列约束:(********************)

    ​ auto_increment:自增1

    ​ primary key:主键索引,加快查询速度,列的值不能重复,一条数据的唯一标识

    ​ NOT NULL:标识该字段不能为空

    ​ DEFAULT:为该字段设置默认值

    增加数据:

    ​ 语法:

    ​ insert into 表名(列1,列2)values(值1,‘值2’);

    查询数据:

    ​ 语法:

    ​ select 列1,列2 from 表名;(*代表查询所有的列)

    列类型:

    数字

    ​ 整型

    ​ tingint

    ​ smallint

    ​ int(推荐使用)

    ​ mediumint

    ​ bigint

    ​ a.整数类型

    ​ b.取值范围

    ​ c.unsigned加上代表不能取负数,只适用于整型

    ​ 应用场景:根据公司业务的场景,来选取合适的类型

    浮点型(**)

    float不一定精确

    decimal:非常精确的数字(m,d)m是数字总个数(负号不算),d是小数点后个数

    插入的数据大于规定的长度,会四舍五入最后一位

    插入的数据小于规定的长度,会用0补全

    字符串

    char(长度):不可变,定长高效

    varchar(长度):不定长,省空间

    区别:

    ​ char:定长,无论插入的字符是多少个,永远固定占规定的长度

    场景:身份证,手机号(char11),md5加密之后的值,比如密码(char32)等

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

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

    时间日期类型

    YEAR

    DATE

    TIME

    DATETIME(********)

    TIMESTAMP

    枚举:列出多有的选项

    create table t1(
    	id int auto_increment primary key,
    	gender enum('male','female')
    )charset utf8;
    
    insert into t1(gender) values ('male');
    

    修改表名

    alter table 旧表名 rename 新表名;

    增加字段

    alter table 表名

    add 字段名 列类型 [可选的参数],

    add 字段名 列类型 [可选的参数];

    这样添加的默认都是在最后一列之后的

    删除字段

    alter table 表名 drop 字段名;

    修改字段

    alter table 表名 modify 字段名 数据类型 [完整性约束条件...]

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

    drop table 表名 ###线上禁用的

    show tables;

    复制表结构

    show create table 表名;

    操作表数据行

    增加数据:

    语法:

    insert into 表名 (列1,列2)values(值1,‘值2’);

    delete from 表名 where 条件:

    delete from 表名 默认删除所有的数据

    truncate 表名 ##没有where条件的

    区间:

    delete之后,插入数据从上一次主键自增加1开始,truncate则是从1开始

    delete删除,是一行一行的删除,效率低truncate:全选删除truncate删除的速度是高于delete的

    updata 表名 set 列名1=新值1,列名2=新值2 where 条件;

    updata t1 set name=‘xxx’ where id=1;

    语法:

    select 列1,列2 from 表名 :(*代表所有的列)

    between...and ...取值范围是闭区间

    select *from t66 where id between 30 and 40;

    避免重复DISTINCT

    select distinct name from t66;

    通过四则运算查询(一般不使用)

    例如:select name,age*10 from 表名;

    模糊查询

    一般是数据小的情况下试用

    select * from t66 where name like ‘x%’;#以x开头

    select * from t66 where name like ‘x%x’;#包含x

    select * from t66 where name like ‘%x’;

    查询以x结尾的数据

    一般使用between的查询效率要比模糊查询效率高

  • 相关阅读:
    java 中文排序 中文拼音排序 pinyin4j (怡,阿等) 拂晓风起
    jQuery 和 json 简单例子(注意callback函数的处理!!) (servlet返回json,jquery更新,java json) 拂晓风起
    推荐一个免费在线制作Banner的好地方
    Jquery焦点图/幻灯片效果 插件 KinSlideshow
    C#关于伪静态页面的两种实现方法
    cu3er 3D幻灯切换效果 div被遮住的解决方法
    推荐一个亲子教学网站,悟空学字
    怎么通过小米账号查出买家的手机号?
    添加网页桌面快捷方式的代码
    卖小米资格号怎么才不会受骗,怎么才不会淘宝退款?
  • 原文地址:https://www.cnblogs.com/gfhh/p/11761086.html
Copyright © 2020-2023  润新知