-
另一种形式插入记录
insert 表名 set 列名=' ',列名=' ';
不可以多条插入。
insert user set name='bob',age=10;
insert 表名 select ... 将查询的结果插入到指定数据表。
查看全部 -
默认约束 DEFAULT
插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
查看全部 -
主键索引不可以为空 唯一索引 可以
主键索引一张表里面只能存在一个 唯一索引可以存在多个
当存储相同的数据时,唯一约束会报错 并提醒已经存在相同的数据
查看全部 -
insert [into] 表名 [列名] values(,,,),(,,,);
为自动编号的字段赋值时,可以用null或default,让其默认自增赋值
如果省略列名,所有的列必须依次赋值,不让报错。
复制可以写数学表达式,数学表达式,函数等
如果字段赋过默认值的话,负值时可以将default付给它
可以一次性写入多条记录
insert 表名 values(,,),(,,);
查看全部 -
alter table 表名 MODIFY id SMALLINT unsigned not null first;(修改列定义)移动id字段到表的第一列。
修改数据类型时,从大类型修改为小类型,可能造成数据的丢失。
show columns from 表名;查看表结构。
alter table 表名 CHANGE pid p_id TINYINT unsigned not null;
同时修改列名和列类型;
alter table 旧表名 rename 新表名;修改数据表名
rename table 表名 to 新表名,表名2 to 新表名2;修改数据表名(可以为多张数据表改名)
查看全部 -
alter table 表名 drop primary key;删除主键约束;
alter table 表名 drop index 字段名;删除唯一约束;
show create table 表名;查看外键约束名称;
alter table 表名 drop foreign key 外键约束名;删除外键约束;
查看全部 -
alter table 表名 alter 列名 SET default 值;添加默认约束
alter table 表名 alter 列名 DORP default;删除默认约束
查看全部 -
MySQL自动编号(保证了每一条记录的唯一性)
自动编号:为某一字段(必须为数值型,如果为浮点数,小数位数一定要为0)添加AUTO_INCREMENT属性,针对主键这一属性的特性。
三:约束
(一)主键约束 PRIMARY KEY
每张数据表只能存在一个主键
主键保证记录的唯一性
主键自动为 NOT NULL
#自动编号必须设为主键,但主键不一定需要自动编号
特点1:必须与主键组合使用。
特点2:默认情况下,起始值为1,每次增量为1.
(二)唯一约束 UNIQUE KEY
唯一约束可以保证记录的唯一性
唯一约束的字段可以为空值(NULL)
每张数据表可以存在多个唯一约束
unique key 与 primary key的区别是:
unique key 可以是为空的,但整张表的那个字段只允许有一个空。而primary key是不允许为空的。
unique key 可以存在多个字段,而primary key 只能一个。
(三)默认约束 DEFAULT
默认值
插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
CREATE TABLE tb2(
id SMALLINT UNSIGNED AUTO_INCREMENT PRINMARY KEY,
username VARCHAR(30) NOT NULL UNIQUE KEY,
sex ENUM('1','3','2')DEFALUT '3'
);
查看全部 -
空值与非空
NULL,字段值可以为空
NOT NULL,字段值禁止为空
mysql> CREATE TABLE tb2( -> username VARCHAR(20) NOT NULL. -> age TINYINT UNSIGNED NULL
查看全部 -
2.记录的插入与查找:
插入记录:
INSERT [INTO] tb_name [(col_name,...)] VALUES(val,...);
如果插入全部字段值,列名字段名可省略
例如 INSERT tb1 VALUES('Tom',25,7876.66)全赋值
INSERT tb1(name,salary)VALUES('Tom',7876.66)部分赋值
记录查找:
SELECT expr,... FROM tb_name;
全部记录:
SELECT * FROM tb_name;
查看全部 -
2.查看数据表:
SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]
3.查看数据库表结构:
SHOW COLUMNS FROM tbl_name;
查看全部 -
二:操作数据表
打开数据库
USE 数据库名称; 显示当前数据库 SELECT DATABASE()
创建数据表
CRLEATE TABLE [IF NOT EXISTS] table_name ( column_name data_type, ····
CREATE TABLE tb1( username VARCHAR(20), age TINYINT UNSIGNED, salary FLOAT(8,2) UNSIGNED );
查看全部 -
4.字符型:
CHAR 定长 比如CHAR(5),如果我们只赋值abc,那么系统会自动在后面补两个空格
VARCHAR 变长 会根据输入长度进行变化
ENUM('value1','value2') 单选 枚举值,提供几个选项,选择其中一个,如:性别
SET('value1','value2'...)多选 在集合中做任意的排列组合,比如abc,可以是a,b,c,ab,bc...
查看全部 -
3.日期时间型
#多用数字类型代替
1b year 1901至2155
3b time -838:59:59至838:59:59
3b date 1000-1-1至9999-12-31
8b datetime 1000-1-1 00:00:00至9999-12-31 23:59:59
4b timestamp 1970-01-01 08:00:01至2038-01-19 11:14:07
查看全部 -
2.浮点型 FLOAT([M,D])
存储范围:3.4*10∧38 M是数字的总位数,D是小数点后面位数(M>=D)。
如果M和D省略,根据硬性允许的限制来保存值。
单精度浮点型精确到大约7位小数位。
DOUBLE([M,D])存储范围:1.79*10∧308
#多用FLOAT类型,因为存储范围越大,占用空间越多,选择最合适的类型而不是最大的类型
查看全部
举报