首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【0基础学习mysql】之DDL-表操作

    目录 DDL-表操作 1.创建表 1.举例 2.执行结果 2.显示表 1.举例 2.执行结果  3.显示数据库中的表 1.举例 2.执行结果  4.修改表 1.添加字段  2.修改字段  3.删除字段...4.修改表名  5.删除表 总结 ---- DDL-表操作 1.创建表 create table 表名(字段 字段类型,字段,字段类型); 1.举例 create table user(id int,name...ALTER TABLE 表名 RENAME TO 新表名; 举例: 将user表的表名修改为students 代码: create table user(id int,name varchar(10)...1.删除表 DROP TABLE[IF EXISTS] 表名; 2.删除该表,并重新创建新表 TRUCATE TABLE 表名; 总结 要熟练掌握建表、改表、展示表、删表。...各位学习mysql的朋友可以联系我,互相讨论,一起进步!!! +✏️+⭐️是对博主最大的鼓励与支持!!!

    52940

    Mysql如何随机获取表中的数呢rand()

    但是对于内存表,回表过程只是简单的根据数据行的位置,直接访问内存得到数据,根本不会导致多访问磁盘,因此优化器如果没有这个顾虑,那么他优先考虑的是排序的行越少越好了,所以,Mysql这个时候就会选择rowid...从words表中,按照主键顺序取出word值,使用rand()让每一个word生成一个大于0小于1的小数,并把这个小数和word放入到临时表的R,W,到此扫描行数是10000....上图我们发现sort_buffer中的位置信息,是个什么概念呢,而Mysql是如何定位一行数据的呢, 首先我们知道mysql中有以下规则 对于有主键的innodb表来说,rowid就是我们的主键 对于没有主键的...select * from t where id >= @X limit 1; 虽然上面可以获取一个数,但是他并不是一个随机数,因为如何表中的id可能存在空洞,导致每一行的获取概率并不一样,如id=1,2,4,5...现在如果要获取三个随机数,根据随机算法2的思路 获取整张表的总行数C 根据同样的共识获取Y1,Y2,Y3 再执行limit Y,1.获取三个随机数 对应的sql语句如下 mysql> select

    7.2K20

    【0基础学习mysql】之DML-表中数据的操作

    执行结果  二、DML-更改操作 1.修改数据 格式 举例 代码 执行结果  2.删除数据 格式 举例 代码 执行结果 ---- 一、DML-添加操作 1.给指定字段添加数据 格式 INSERT INTO 表名...(字段名1,字段名2......)VALUES(值1,值2......); 值1对应字段1,值2对应字段2 举例 定义一个字段为id、name、denger的students表添加一组数据 代码...students(id, name, gender) VALUES (1,'张三','男'); 执行结果 注意对于字符的添加,要用单引号  2.给所有字段添加数据 格式 INSERT INTO 表名...','男'); insert into students (id,name) VALUES (3,'小雪'),(4,'王五'); 执行结果  二、DML-更改操作 1.修改数据 格式 UPDATE 表名...UPDATE students SET name='小艺',gender='女' WHERE id=1; DELETE FROM students WHERE name='王五'; 执行结果 各位学习mysql

    69420

    小白学习MySQL - “投机取巧”统计表的记录数

    同事提了个统计需求,MySQL某个库60%的表都有个isdel字段(char(1)),值是0或1,现在要检索该数据库所有存在isdel字段且isdel=‘0’的表的记录数,举个例子,执行如下的count...(2) 依次执行count(*),统计每张表的记录数。 (3) 将(2)中得到的表名和记录数,存储到另外一张表中,作为检索用途。 我们按照倒序,依次操作下, 1....(2) 如果(1)的num>0,则将表名、记录数、插入时间,存入table_count表。...检索table_count,此时表中记录,就是所有isdel='0',且count(*)>0的表名和对应的记录数了, select * from table_count; 其实整个过程,就是我们惯性思维能考虑到的...小白学习MySQL, 《小白学习MySQL - 一次慢SQL的定位》 《小白学习MySQL - TIMESTAMP类型字段非空和默认值属性的影响》 《小白学习MySQL - 聊聊数据备份的重要性》 《小白学习

    5K40

    mysql从5.7迁移表结构到5.5报错 near ‘(0) NULL DEFAULT NULL’

    问题由来 问题如标题所示,在开发过程的时候,需要创建一张表,从另一个环境导出的表结构sql文件,在我电脑上导入,遇到该报错 You have an error in your SQL syntax; check...the manual that corresponds to your MySQL server version for the right syntax to use near '(0) NULL...那么sql语句一般是正常没问题的, 一般是环境差异导致的,如(版本不同) 原来的表创建过程是使用软件可视化的,datetime长度这里没有填写,默认是为0,所以首先是对这个的不理解 从这里去找了资料,发现对...宣言为了测试该问题,并准确定位和分析,找到了mysql官方的文献,原文为: 11.2.7 Fractional Seconds in Time Values MySQL 5.6 has...(最好精确到小版本) 如果只是为了临时在mysql5.5完成测试,并且确认业务程序不需要使用到时间的小数秒,可以将sql文件中的长度设置删除,然后导入 datetime(0) NULL DEFAULT

    3.4K30

    位运算在数据库中的运用实践-以MySQL和PG为例

    在设计字段时,我们会将状态只设计成一个字段,它的值则有这8位二进制数转成对应的十进制数来表示,这样子不仅大大的减少了字段数,同时还能实现不同次数的状态分别记录。...查询MySQL版本,使用以下sql:select VERSION();5.7.14-log我们首先来创建一张表,表仅用作演示,不代表实际的业务,实际的业务表还请各位朋友自己去设计。...` INT NOT NULL DEFAULT 0);表结构非常简单,只有两个字段,第一个字段是主键ID,设置位自增,而第二个字段为状态位,存储的值是十进制的表示数,请注意,这里的数据类型请结合具体的二进制状态位的计算过来定...,int是一个非常大的数字了,用来存储是足够了,它的默认值用0表示,因为二进制8个0对应的十进制数也是0。...PG数据库中,直接将二进制转换为十进制的字符串的方法没有,因此我们不能直接使用内置函数来完成,需要使用自定义函数的方式,自定义函数的逻辑与MySQL差不多,整体长度是8,不够的位数用0来补齐。

    9500

    MySQL学习笔记

    SHOW COLUMNS FROM "数据表" \\ 显示数据表的属性,属性类型主键信息是否为`NULL`默认值其他信息 SHOW INDEX FROM 数据表 \\ 显示数据表的详细索引信息...BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型INYINT、MEDIUMINT和BIGINT。...) 最本质的区别:单精度,也就是 float ,在 32 位机器上用 4 个字节来存储的;而双精度double是用 8 个字节来存储的,由于存储位不同,他们能表示的数值的范围就不同,也就是能准确表示的数的位数就不同...十进制下的位数不同 单精度浮点数最多有7位十进制有效数字,如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。...双精度浮点数可以表示十进制的15或16位有效数字,超出的部分也会自动四舍五入。

    1.5K20

    可重复执行SQL语句|建表、插入默认值、增加字段、删除字段、修改字段可重复执行SQL语句|oracle|mysql

    目录 前言 oracle脚本: 建表语句 插入默认值语句 删除某个字段 增加某个字段 有数据情况下修改某个字段为另外的名称  mysql: 建表语句 插入默认值 删除某个字段 增加某个字段 表有数据情况下将某个字段修改为另外的名称...比如甲方A的进展已经到3.0阶段了,表需要加A字段,修改B字段为字符串;甲方B进展到2.0字段,只需要表加A字段,这时候如果你的表不是可重复执行的,你越到后面你就维护不清楚到底这张表哪些字段甲方A有,哪些甲方...; commit; 插入默认值 有时候表里有一些初始值,我们创建几条默认值,这里创建两个学生,一个是张三,一个是李四 id name sex adress phone 001 张三 男 杭州市 13888888888...(); drop procedure if exists sq_db_mysql; 表有数据情况下将某个字段修改为另外的名称 比如电话号码我一开始定义的是number,但是实际上有可能有0791-1111111...(); drop procedure if exists sp_db_mysql; 以上就是常见的几种情况,包括建表、插入默认值、增加字段、删除字段、修改字段等操作,如果还有其他的,欢迎大家补充更新

    9.9K20

    安全的数据库图形管理工具(4):SQL语句(2)

    有符号整数 有符号整数就是第一位表示符号位(第一位是0就表示正数,第一位是1就表示负数),比如TINYINT是一个字节,一个字节是8位,它就只能用7位表示数值,7位全部都是1,二进制转十进制也就是127...,因为我完全可以把其中一个0的表示放到边界,让它可以多表示一个数,这里它放到了负数的边界,为什么是负数的边界?...因为计算机中的数都是二进制格式,十进制数0.5转换成二进制是0.1,十进制数0.25转换成二进制就是0.01,十进制的0.1转换成二进制是什么大家可以自己算一下,可能算一天都算不到这个二进制数。...MySQL约束 MySQL约束也就5种——主键约束,默认约束,唯一约束,外键约束,非空约束。...默认约束 默认约束就是给拥有默认约束的字段设置默认值,在插入数据时如果不指明该字段的值,那么就采用在创建表时的默认值。 唯一约束 唯一约束就是确保拥有唯一约束的字段不重复,比较简单。

    1.1K20

    【MySQL】01_运算符、函数

    但是在MySQL中+只表示数 值相加。如果遇到非数值类型,先尝试转成数值,如果转失败,就按0计算。...在数学运算中,0不能用作除数,在MySQL中,一个数除以0为NULL。...当给定值对应的二 进制位的数值都为1时,则该位返回1,否则返回0。 1的二进制数为0001,10的二进制数为1010,所以1 & 10的结果为0000,对应的十进制数为0。...右移指定的 位数后,右边低位的数值被移出并丢弃,左边高位空出的位置用0补齐。 1的二进制数为0000 0001,右移2位为0000 0000,对应的十进制数为0。...左移指定的 位数后,左边高位的数值被移出并丢弃,右边低位空出的位置用0补齐。 1的二进制数为0000 0001,左移两位为0000 0100,对应的十进制数为4。

    3.6K30

    Awk学习笔记

    NR 当前记录数。 OFMT 数字的输出格式(默认值是%.6g)。 OFS 输出字段分隔符(默认值是一个空格)。 ORS 输出记录分隔符(默认值是一个换行符)。...$ awk -F: '{IGNORECASE=1; $1 == "MARY"{print NR,$1,$2,$NF}'test,把IGNORECASE设为1代表忽略大小写,打印第一个域是mary的记录数...退出状态为0代表成功,非零值表示出错。 14.7. 数组 awk中的数组的下标可以是数字和字母,称为关联数组。 14.7.1. 下标与关联数组 用变量作为数组下标。...%M 十进制表示的分钟 %p 12小时表示法(AM/PM) %S 十进制表示的秒 %U 十进制表示的一年中的第几个星期(星期天作为一个星期的开始) %w 十进制表示的星期几(星期天是0)...) 平方根 srand(x) x是rand()函数的种子 int(x) 取整,过程没有舍入 rand() 产生一个大于等于0而小于1的随机数 14.8.4.

    3.6K30

    MySQL基础补充

    grant  all on *.*  to  用户名@‘地址’; 刷新系统权限  flush  privileges; 删除用户    所有的用户都存储在mysql数据库中的user表中   01. delete...USE mysql; SELECT `host`,`user`  FROM  `user`; 数据类型  int     double   在mysql中使用的是decimal(a,b)   a指定指定小数点左边和右边可以存储的十进制数字的最大个数...b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。...字段的默认值 唯一约束   unique  key(uk)    字段的值是唯一的可以是null,但只能有一个 自动增长  auto_increment      设置列的自动增长(标识列),通常用于设置主键...MySQL常用引擎: MyISAM:不支持事物,占用空间小,,不能使用外键,访问速度快  存储文件:   *.frm:表结构定义文件   *.MYD:数据文件   *.MYI:索引文件 InnoOB:支持事物

    966120

    MySQL数据类型DECIMAL用法

    D的范围是0~30。MySQL要求D小于或等于(<=)P。 DECIMAL(P,D)表示列可以存储D位小数的P位数。十进制列的实际范围取决于精度和刻度。...如果使用ZEROFILL,MySQL将把显示值填充到0以显示由列定义指定的宽度。 另外,如果我们对DECIMAL列使用ZERO FILL,MySQL将自动将UNSIGNED属性添加到列。...MySQL允许使用以下语法: column_name DECIMAL(P); 这相当于: column_name DECIMAL(P,0); 在这种情况下,列不包含小数部分或小数点。...column_name DECIMAL; 在这种情况下,P的默认值为10。 MySQL DECIMAL存储 MySQL分别为整数和小数部分分配存储空间。 MySQL使用二进制格式存储DECIMAL值。...对于每个部分,需要4个字节来存储9位数的每个倍数。

    5K40
    领券