测试自增长:

一个表中只能有一个自增长,自增长一定是主键,主键不一定是自增长

插入不指定主键值时,插入的是最大值加1

创建自增长:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段名

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段_02

也可用 INSERT test22 VALUES(NULL,'用户名');

也会自增长

指定自增长开始编号:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段_03

如上,则自增长会从100开始编号

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段_04

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_05

修改自增长值:

ALTER TABLE tbl_name AUTO_INCREMENT = num;

非空约束:

NOT NULL:

标志非空的字段不能存在空值

测试非空:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_06

非空约束必填,必须给一个非空值

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_07

测试默认值:

DEFAULT +默认值

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_08

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_09

给出所有值

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段_10

测试唯一性约束:

NULL值不算重复,若是中途出现插入数据错误,自增长仍然会增长1

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_11

约束了唯一性的属性,不能出现重复的数据

 

重命名数据表:

修改表名:

ALTER TABLE tbl_name(原来) RENAME TO tbl_name(新表名);

ALTER TABLE tbl_name(原来) RENAME TO AS tbl_name(新表名);

ALTER TABLE tbl_name(原来) RENAME tbl_name(新表名);

RENAME TABLE 原表名 TO 新表名;

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_12

添加和删除字段:

添加字段:

一次一次添加:

ALTER TABLE tbl_name 字段名 字段类型  (FIRST/AFTER 字段名);

多次添加:

A.选中表:ALTER TABLE tbl_name

B.多次添加:ADD 字段名 字段类型  (FIRST/AFTER 字段名);

                   ADD 字段名 字段类型  (FIRST/AFTER 字段名);.....

删除字段:

ALTER TABLE tbl_name DROP 字段名;

一次删除多个:

A.ALTER TABLE tbl_name;

B.DROP 字段名;

  DROP 字段名;....

修改字段:

关键字 MODIFY与CHANGE:

修改字段:ALTER TABLE tbl_name MODIFY 字段名称 字段类型【完整性约束条件】【FIRST|AFTER 字段名】

修改字段名称:ALTER TABLE tbl_name CHANGE 旧字段名称 新字段名称 字段类型【完整性约束条件】【FIRST|AFTER 字段名称】

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段_13

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段_14

添加删除默认值:

添加默认值:

ALTER TABLE tbl_name ALTER 字段名称 SET DEFAULT 默认值;

删除默认值:

ALTER TABLE tbl_name ALTER 字段名称 DROP DEFAULT;

添加删除主键:

添加主键:

ALTER TABLE tbl_name ADD PRIMARY KEY(字段名);

删除主键:

ALTER TABLE tbl_name DROP PRIMARY KEY;

添加删除唯一性约束:

添加唯一性约束:

ALTER TABLE tbl_name ADD UNIQUE [INDEX|KEY][索引名称](字段名称)

删除唯一性约束:

ALTER TABLE tbl_name DROP [INDEX|KEY]index_name

删除唯一索引:

ALTER TABLE tbl_name DROP INDEX index_name;

ALTER TABLE user12 DROP KEY index_name;

修改表存储引擎:

ALTER TABLE tbl_name ENGINE = engine_name;

修改自增长值:

ALTER TABLE tbl_name AUTO_CREMENT = num;

删除数据表:

DROP TABLE tbl_name [,tbl_name...]

插入记录:

A.不指定具体字段名

INSERT [INTO] tbl_name VALUES(字段值,....);

B.列出指定字段

INSERT [INTO] tbl_name(字段名称1) VALUES(字段值1,....);

C.同时插入多条记录

INSERT [INTO] tbl_name VALUES(值...),(值...);

D.通过SET形式插入记录

INSERT [INTO] tbl_name SET 字段名称=值,...

E.将查询结果插入到表中

INSERT [INTO] tbl_name [(字段名称,...)] SELECT 字段名称 FROM tbl_name [WHERE 条件];

更新删除记录:

更新数据记录:

UPDATE tbl_name SET 字段名称=值,...[WHERE 条件][ORDER BY 字段名称][LIMIT 限制条数]

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_15

删除数据记录:

A.DELETE FROM tbl_name[WHERE 条件][ORDER BY 字段名称][LIMIT 限制条数]

B.彻底清空数据表:TRUNCATE[TABLE]tbl_name

查询数据操作:

查询记录:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段名_16

查询表达式:

每一个表达式表示想要的一列,必须至少有一列,多个列之间可以用逗号隔开,*表示所有列,tbl_name.*可以表示命名表的所有列,查询表达式可以使用[AS]alias_name为其赋予别名

WHERE条件:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_17

查询:

等于:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段名_18

不等于:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_19

 

检测字段值是否为NULL:

可以用<=>或者 IS NULL

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_20

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_21

查询符合范围值的字段:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_22

指定集合查询:

适用于数字也适用于字符串

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段_23

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段名_24

模糊查询

LIKE关键词

%:代表0个或者多个字符

_:代表1个任意字符

查询姓张的用户:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段_25

查询用户名中包含in的用户:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_26

查询用户名为3位的用户:

使用三个下划线

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段名_27

分组查询:

关键字GROUP BY

A.SELECT *FROM tbl_name GROUP BY 字段名:

只会显示每个分组的第一个元组

B.按照位置分

SELECT * FROM tbl_name GROUP BY  num

分组查询配合聚合函数:

GROUP BY 配合GROUP_CONCAT()得到分组详情

查询id,sex,用户名详情按照性别分组

SELECT id,sex,GROUP_CONCAT(username) FROM tbl_name GROUP BY sex;

聚合函数:

COUNT():统计总数,不统计NULL值

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_28

MAX():获取最大值

MIN():获取最小值

AVG():获取平均值

SUM():获取总和值

WITH ROLLUP:记录上面所有记录的总和

 

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段_29

HAVING语句:

对分组的二次筛选

只有配合GROUP BY才有意义

基于如上查询二次查询,要求组中人数大于2,且最大年龄大于60的:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_字段_30

还要满足id大于2的用户:

sql server 不是主键可以设置自增吗 mysql不是主键可以自增吗_自增长_31