
SQL
文章平均质量分 57
zy010101
会写一点代码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL索引
索引索引最核心的作用是加速查找。在MySQL中当一张表中的数据量非常大(1000万条数据)的时候,查询速度会变慢,这时候可以建立索引来进行查找。索引能够加速是因为它是按照B+Tree来存储的。B+Tree的特点如下:所有的数据都保存在叶子节点,非叶节点不保存数据;非叶节点只用来索引;下面是info表中的数据这是根据id建立的B+Tree索引这是根据姓名建立的B+Tree索引索引的优点索引只在叶子节点保存数据,那么例如我们的B+Tree有25层,那么叶子节点可以保存3355443转载 2022-02-14 16:51:16 · 126 阅读 · 0 评论 -
查看Django ORM生成的SQL语句
查看Django ORM生成的MySQL数据库的SQL语句Django ORM生成的MySQL数据库的SQL语句其实可以通过打印QuerySet对象的query属性来查看,但是这样只能查看到对应的SQL语句,你依旧不知道在Mysql数据库中执行了操作。所以最好的办法还是直接查看MySQL数据库的日志。通过QuerySet对象的query属性来查看SQL语句>>> from book.models import BookInfo>>> objs = BookInfo原创 2021-10-17 22:02:48 · 1655 阅读 · 0 评论 -
SQL基本查询语句(三)
多表查询多表查询的结果是表的乘积,不是显示多个表。这个非常不好用,因为很容易就导致表很大。下面是个例子。SELECT * FROM students,classes;其实就是这张表变成了40行记录了,如果你有两张1万行记录的表,你去查询它,那么将导致表的记录变成了1亿。连接查询连接查询是另一种类型的多表查询。连接查询对多个表进行JOIN运算,简单地说,就是先确定一个主表作为结果集,然后,把其他表的行有选择性地“连接”在主表结果集上。现在,我们希望结果集同时包含所在班级的名.原创 2021-05-16 13:22:03 · 419 阅读 · 0 评论 -
SQL约束
约束约束是对表中的数据进行限定,从而保证数据的有效性,正确性,完整性。在MySQL中有四类约束。分别是:主键约束(primary key),非空约束(not null),唯一约束(unique),外键约束(foreign key)。非空约束在创建表的时候,加入非空约束。CREATE TABLE stu(id INT,VARCHAR(100) NOT NULL);现在,指定name不能为空,下面来试试,插入一个没有名字的记录到表中。MySQL报错,告诉我们name不能是NULL原创 2020-12-23 14:47:49 · 767 阅读 · 1 评论 -
SQL基本查询语句(二)
投影查询无论是基础查询还是条件查询,最终的结果都是显示了所有字段。即:包含了id, class_id, name, gender, score。如果我们只关心name字段,那么查询语句应该按照如下格式:SELECT <字段列表> FROM <表名>;下面是一个实例,展示了如何指定相关字段进行查询。SELECT class_id, name FROM students WHERE class_id = 1;查询结果显示了表中一班所有的同学。如果你不想显示cl原创 2020-12-23 09:39:14 · 530 阅读 · 0 评论 -
SQL操作表
操作数据库中的表无非也是4种方式。增删改查(CRUD)。1.查询查询当前数据库中所有的表:SHOW TABLES;这张表是MySQL数据库中默认的名为mysql的数据库所含有的表。查询表的结构:DESC user;查询名为user的表的结构。2.创建现在,我们来创建一个自己的数据库,名字就叫test吧!然后,我们在test数据库中创建一张表。在干这些之前,我们必须了解MySQL的数据类型。MySQL 数据类型在 MySQL 中,有三种主要的类型:Text(文本)、..原创 2020-12-16 23:39:14 · 602 阅读 · 0 评论 -
SQL操作数据库
操作数据库,可以分为下面5个方面的操作。1.查询(retrieve)查询MySQL数据库软件中所有数据库:SHOW DATABASES;图中的数据库是MySQL8.0自带的数据库。这四个数据库对于不是DBA的人而言,我们就不要去动它。创建自己的数据库即可。查询数据库的创建语句:SHOW CREATE DATABASE mysql;2.创建(create)创建数据库:CREATE DATABASE test;一般我们在创建数据库的时候,更常用的语句是:CREATE.原创 2020-12-16 20:58:53 · 372 阅读 · 0 评论 -
Linux下安装sqlite3
在Ubuntu下安装sqlite3非常简单。使用如下命令即可。sudo apt install sqlite3安装完成以后,就可以使用sqlite3了,在终端下输入sqlite3,如果看到下面的结果就说明可以使用sqlite3了。退出sqlite3只需要输入.exit即可。另外,如果你需要使用高级语言来结合sqlite3使用,那么还需要安装libsqlite3-dev库文件,这样高级语言才能看到其接口。也就是你在使用C/C++内嵌sqlite的时候需要include头文件sqlite.原创 2020-11-12 09:54:43 · 1028 阅读 · 0 评论 -
SQL删除表中数据语句
如果你想从数据库删除记录,那么需要使用DELETE语句。DELETE语句的基本格式如下:DELETE FROM <表名> WHERE ...;如果WHERE条件没有匹配到任何记录,DELETE语句不会报错,也不会有任何记录被删除。可以看到显示没有任何一行记录被删除。最后,要特别小心的是,和UPDATE类似,不带WHERE条件的DELETE语句会删除整个表的数据:DELETE FROM students;这时,整个表的所有记录都会被删除。所以,在执行DELET原创 2020-12-04 14:19:12 · 27464 阅读 · 0 评论 -
SQL更新表中数据语句
如果,你想更新数据库中其中某一条数据。那么你需要使用UPDATE语句。基本的UPDATE语句如下。UPDATE <表名> SET 字段1=值1, 字段2=值2, ... WHERE ...;例如,我们想更新students表id=12的记录的score和class_id这两个字段,先写出UPDATE students SET score=98, class_id = 4然后在WHERE子句中写出需要更新的行的筛选条件id=12:WHERE id = 12;UPDATE stude原创 2020-12-04 14:18:47 · 16998 阅读 · 8 评论 -
SQL插入数据到表中
我们常说,对于数据库的操作实际上只有增删改查。INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...);原创 2020-12-04 14:18:19 · 987 阅读 · 0 评论 -
SQL查询语句(一)
基本查询SELECT * FROM <tablename>;SELECT是SQL关键字,SQL关键字是不区分大小写的,但是表名是区分大小写的。SELECT关键字表示查询操作,而*表示查询所有字段。FROM是SQL关键字,表示从哪张表查询。tablename是表名。分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的 SQL 语句。另外MySQL要求每条SQL语句的结束都需要加上分号。例如:SELECT * FROM studen原创 2020-12-04 14:17:27 · 997 阅读 · 2 评论