sql:Structured Query Language,用于对结构化数据(关系型数据库)做CURD 操作。
关系数据库表内字段的关系,表与表之间的关系可以理解为对现实世界的建模。
表与表之间的关系:一对一、一对多(一个表的一条记录对应另一个表的多条记录)、多对多。
主键:每个表必有主键,可以由一个或多个列共同组成,不允许重复;数据库自动为逐渐建立索引(由多个列组成的主键称为联合主键)。
索引:是对数据库一个或多个列做预先排序的数据结构。使用索引可以让数据库不必扫描整个表,而直接定位到符合条件的记录,大大加快查询速度。索引的效率取决于列的值是否散列,即该列的值越不相同,索引效率越高,列的值重复的越多,索引效率越低。
sql 重要元素:
- select column1, column2
- from column1, column2
- where condition1 (and or not) condition2
- order by column1, column2
- group by column1, column2
- limit m offset n :限制返回的条数,以及返回数据的起始位移
- 逻辑连接:and,or,not
- 聚合函数:count,avg,sum,min,max
并列的字段用逗号分隔,别名用空格分隔
from多表查询:from table1, table2,通过from 多个表实现的多表查询,返回的是多个表的笛卡尔乘积
join 多表查询:先确定主表(select table),根据条件(on condition)把从表(join table)的字段连接到主表上。可以join 多个从表,使用多个 join … on … 子句即可
- inner join table on condition
- left outer join
- right outer join
- full outer join
insert into table (col1, col2) values (value1, value2), (value1, value2);
updata table set col1=value1, col2=value2 where condition
(如果where选择出多条语句,则所有被选中的语句都会被update)
delete from table where condition
MySQL Client的可执行程序是mysql,MySQL Server的可执行程序是mysqld。mysql client 通过 TCP 连接与mysql server 通信。
replace into table (col1, col2) values (value1, value2); 如果记录不存在就直接插入,否则先删除再插入
事物:把多条sql语句作为一个整体执行,要么全部全执行,要么全不执行。事物具有ACID特性。
Begin; sql1; sql2; commit
32

被折叠的 条评论
为什么被折叠?



