约束是一种限制,它通过对表行列的的数据做出限制,来确保表数据的唯一性,完整性。
常见约束类型:
-
当一个字段为非空约束时,该字段要么有值,有么添加默认值。
-
主键约束要求主键列数据唯一,并且不允许为空,主键能够唯一的标识表中的一条记录,主键分为单字段主键和多字段联合主键,一张表中只能存在一个主键。
-
唯一约束要求该列唯一,允许为空,唯一约束可以确保一列或者几列不出现重复值
-
默认约束则是为列添加默认值
-
外键用来在两个表之间连接,它可以是一列或者多列,一张表可以有多个外键。一个表的外键可以是空值,若不为空则每一个外键值必须对应另一张表中主键的值。保持数据的完整性,唯一性
基本语法介绍:
插入数据:
1.插入一条数据:
INSERT INTO table_name ( field1, field2,…fieldN ) VALUES ( value1, value2,…valueN );
2.插入多条数据
INSERT INTO table_name (field1, field2,…fieldN) VALUES (valueA1,valueA2,…valueAN),(valueB1,valueB2,…valueBN),(valueC1,valueC2,…valueCN)……;
3.将查询结果插入表中
注意:如果插入的数据类型是字符型,必须使用单引号或者双引号括起来 如 ‘value1’ 如果列名省略不写的话,则值顺序和建表顺序一致,且各列数据都不能省,包括自增主键。当值类型省略不写的时候,表结构发生改变,值顺序也该改变。如果只为指定列插入数据,则其他列应该有默认值,否则会报错。当然,如过该列设置可以为空的话,那该列未被插入数据时默认就是null。
数据的更新:
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
注意:如果更新语句不跟条件while则默认修改整张表,一般是不可取的。
数据的删除:
DELETE FROM table_name [WHERE Clause]
注意:不跟while条件默认删除整张表,实际开发中一般不存在绝对的删除,一般都是加一列,功能设置为是否显示该行数据而已。
truncate table table_name 这条语句的功能也是删除整张表,但速率快于delete,因为它是删除当前表而后创建新的表,del是删除该表的记录。
数据的查询:
1.语法结构:
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
2.实现分页效果如下:
select * from _table limit (page_number-1)*lines_perpage, lines_perpage
或
select * from _table limit lines_perpage offset (page_number-1)*lines_perpage
page_number为当前页数,lines_perpage为一页显示多少行。
3.消除查询结果的重复值使用修饰符 distinct 如:
4.查询空值记录:
5.查询结果的分组:
SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
:
使用having过滤分组:
6.对查询结果进行排序:
SELECT field1, field2,…fieldN table_name1, table_name2…
ORDER BY field1, [field2…] [ASC [DESC]]
关于对同一张表的复制:
create table reader_bak as select * from reader
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/5987.html