-
2021-05-17 15:19:05
本文章转载为了记录学习,如有侵犯隐私权益,请联系删除!
1、主键约束
alter table 表名 add primary key (列名);
drop primary key;
2、外键约束
alter table 表名 add [constraint] foreign key (列名) references 表2(列名)
drop foreign key 外键名字(通过show create table 表名 查询出外键名字)
当删除外键之后,会留下自动创建的索引,用语句 alter table 表名 drop index 索引名字; 删除索引;
3、唯一键约束alter table 表名 add [constraint] unique key (列名)
用语句 alter table 表名 drop index 索引名字;删除唯一键约束。4、设置默认约束
alter table 表名 alter 列名 {set default literal| drop default}
5、修改列名称,及其类型:
alter table 表名 change 旧列名 新列名 类型;
6、修改列定义:
alter table 表名 列名 类型;
7、修改表名:
alter table 表名 rename [to] 新表名;
更多相关内容 -
mysql约束以及数据库的修改
2021-01-26 23:48:55(1)表级约束(约束针对于两个或两个以上的字段使用)(2)列级约束(针对于一个字段使用)3、约束类型有:(1)NOT NULL(非空约束)(2)PRIMARY KEY(主键约束)(3)UNiQUE KEY(唯一约束)(4)DEFAULT(默认约束)(5)FOREIGN KEY(外键...一、约束
1、约束保证数据完整性和一致性。
2、约束分为表级约束和列级约束。
(1)表级约束(约束针对于两个或两个以上的字段使用)
(2)列级约束(针对于一个字段使用)
3、约束类型有:
(1)NOT NULL(非空约束)
(2)PRIMARY KEY(主键约束)
(3)UNiQUE KEY(唯一约束)
(4)DEFAULT(默认约束)
(5)FOREIGN KEY(外键约束)
实现一对一或一对多关系。
4、要求
(1)有参照列为父表,有外键列为子表
(2)加上FOREIGN KEY的列为外键列
【把my.ini文件里的default-storage-engine=innoDB】
(3)建立provinces表和users表
(4)查看INDEXES
5、外键约束参照操作
(1)我们建立一个表结构
(2)加入元素
(3)删除父表一个元素
父表中的3、C删除之后,子表1、Tom、3也删除了
6、表级约束,列级约束
二、修改数据表
一 、添加列
二、添加约束
(示例)
1、添加主键约束
mysql>ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id);
2、添加唯一约束
mysql> ALTER TABLE users2 ADD UNIQUE (username);
3、添加外键约束
mysql> ALTER TABLE users2 ADD FOREIGN KEY (pid) REFERENCES provinces (id);
4、添加/删除默认约束
添加默认:mysql> ALTER TABLE users2 ADD age TINYINT UNSIGNED NOT NULL;
修改默认值:mysql> ALTER TABLE users2 ALTER age SET DEFAULT 15;
删除默认值:mysql> ALTER TABLE users2 ALTER age DROP DEFAULT;
三、删除约束
1、删除主键约束
mysql> ALTER TABLE users2 DROP PRIMARY KEY;
2、删除唯一约束
mysql> SHOW INDEXES FROM users2\G;//显示INDEXES
*************************** 1. row ***************************
Table: users2
Non_unique: 0
Key_name: username
Seq_in_index: 1
Column_name: username
。。。。。。
*************************** 2. row ***************************
Table: users2
Non_unique: 1
Key_name: pid
Seq_in_index: 1
Column_name: pid
。。。。。。
mysql> ALTER TABLE users2 DROP INDEX username ;
(删除约束而不是字段)
3、删除外键约束
(1)查看属性mysql> SHOW CREATE TABLE users2;
users2_ibfk_1为外键名字
mysql> ALTER TABLE users2 DROP FOREIGN KEY users2_ibfk_1;(利用外键名删除外键)
此时外键已被删除
此时还有索引‘pid’删除它
ALTER TABLE users2 DROP INDEX pid;
四、修改列定义
mysql> ALTER TABLE users2 MODIFY id SMALLINT NOT NULL FIRST;(将id字段调整到第一的位置)
mysql> ALTER TABLE users2 MODIFY id TINYINT NOT NULL;(可以把SMALLINT强转成TINYINT,会有溢出)
mysql> ALTER TABLE users2 CHANGE pid p_id TINYINT NOT NULL;(将pid改为p_id)
方法一:mysql> ALTER users2 RENAME users3;
方法二: mysql> RENAME users3 TO users1;(可以对多个数据表更名)
总结:
-
mysql字段类型与约束条件
2021-01-19 00:00:01一、数值类型二、日期类型三、枚举与集合四、约束条件五、设置严格模式一、数值类型1.1 整型应用场景: id号、年龄...tinyint:有符号:默认范围 -128, 127无符号:默认范围 0,255#tinyint 默认有符号:create table ...一、数值类型
二、日期类型
三、枚举与集合
四、约束条件
五、设置严格模式
一、数值类型
1.1 整型
应用场景: id号、年龄...
tinyint:
有符号:默认范围 -128, 127
无符号:默认范围 0,255
#tinyint 默认有符号:
create table t1(id tinyint,
name varchar(16)
);
insert into t1 values(-128,'tank'),(127,'jason');
insert into t1 values(-129,'sean') #报错
select * from t1;
+------+-------+
| id | name |
+------+-------+
| -128 | tank | #有符号,最小值为-128
| 127 | jason | #有符号,最大值127
+------+-------+
#设置无符号tinyint
create table t2(id tinyint unsigned);
insert into t2 values((-1)); #报错
insert into t2 values((0));
insert into t2 values((255));
insert into t2 values((256)); #报错
select * from t2;
+------+
| id |
+------+
| 0 | #无符号,最小值为0
| 255 | #无符号,最大值为255
+------+
int:
有符号:默认范围(-2147483648, 2147483647)
无符号:默认范围 (0,4294967295)
默认宽度为11
#int 默认有符号:
create table t3(id int);
insert into t3 values(-2147483648);
insert into t3 values(-2147483649); #报错
insert into t3 values(2147483647);
insert into t3 values(2147483648); #报错
select * from t3;
+-------------+
| id |
+-------------+
| -2147483648 | #有符号,最小值为-2147483648
| 2147483647 | #有符号,最大值为2147483647
+-------------+
#设置无符号int
create table t4(id int unsigned)
insert into t4 values((-1));
insert into t4 values((0));
insert into t4 values((4294967295));
insert into t4 values((4294967296));
select * from t4;
------------+
| id |
+------------+
| 0 | #无符号,最小值为0
| 4294967295 | #无符号,最大值为4294967295
+------------+
1.2 浮点型
应用场景:存储薪资、身高、体重、体质参数等
float :FLOAT[(M,D)] ,单精度浮点数(非准确小数值)
double:DOUBLE[(M,D)],双精度浮点数(非准确小数值)
以上两个的m是数字总个数,d是小数点后个数。m最大值为255,d最大值为30
decimal:DECIMAL[(M,D)],准确的小数值
m最大值为65,d最大值为30。
# 范围255是最大长度(包括.小数), 30代表是小数的位数
create table t5(x float(255, 30));
create table t6(x double(255, 30));
create table t7(x decimal(65, 30));
# 三种浮点型: 区别在于精确度不一样
insert into t5 values(1.111111111111111111111111111111);
insert into t6 values(1.1111111111111111111111111111);
insert into t7 values(1.1111111111111111111111111111);
#随着小数的增多,精度开始不准确
mysql> select * from t5;
+----------------------------------+
| x |
+----------------------------------+
| 1.111111164093017600000000000000 |
#精度比float要准确点,但随着小数的增多,同样变得不准确
mysql> select * from t6;
+----------------------------------+
| x |
+----------------------------------+
| 1.111111111111111200000000000000 |
#精度始终准确,d为30,于是只留了30位小数
mysql> select * from t7;
+----------------------------------+
| x |
+----------------------------------+
| 1.111111111111111111111111111100 |
+----------------------------------+
1.4 字符串类型
char: 定长,简单粗暴,浪费空间,存取速度快。
字符长度范围:0-255(一个中文是一个字符,是utf8编码的3个字节)。
存储char类型的值时,会往右填充空格来满足长度
create table t8(id int,name char(4));
insert into t8 values(1, 'tank');
insert into t8 values(1, 't');
insert into t8 values(1, '你个大傻子'); #字符长度超过4报错
mysql> select * from t8;
+------+--------------+
| id | name |
+------+--------------+
| 1 | tank |
| 1 | t | # t+3个空格
+------+--------------+
varchar: 不定长字符,精准,节省空间,存取速度慢
存几个字符,就是几个字符的大小,每个字符前都要+1bytes
create table t9(id int, name varchar(4));
insert into t9 values(1, 'bob'); # 1bytes + bob
insert into t9 values(2, 'tank'); # 1bytes + tank
insert into t9 values(3, 'sean'); # 1bytes + sean
insert into t9 values(4, 'jason'); #报错
mysql> select * from t9;
+------+------+
| id | name |
+------+------+
| 1 | bob |
| 2 | tank |
| 3 | sean |
+------+------+
二、日期类型
例如:
date: 2019-12-11
datetime: 2019-12-11 11:11:11
time: 11:11:11
year: 2019
timestamp: 时间戳
注意:TIMESTAMP的字段默认不为空(not null),默认值为当前时间(CURRENT_TIMESTAMP),如果不做特殊处理,并且update语句中没有指定该列的更新值,则默认更新为当前时间。
create table student(
id int,
name varchar(10),
birth date,
register datetime,
born_year year,
t_time time,
update_time timestamp
);
insert into student values(1, 'baohan', '1996-06-23', '2019-12-12 11:11:11', '1996', '11:11:11', null);
insert into student values(2, 'HCY', '1000-11-11', '1980-11-11 11:11:11','2019', '11:11:11', null);
mysql> select * from student;
+------+--------+------------+---------------------+-----------+----------+---------------------+
| id | name | birth | register | born_year | t_time | update_time |
+------+--------+------------+---------------------+-----------+----------+---------------------+
| 1 | baohan | 1996-06-23 | 2019-12-12 11:11:11 | 1996 | 11:11:11 | 2019-12-11 16:02:45 |
| 2 | HCY | 1000-11-11 | 1980-11-11 11:11:11 | 2019 | 11:11:11 | 2019-12-11 16:03:22 |
+------+--------+------------+---------------------+-----------+----------+---------------------+
三、枚举与集合
字段的值只能在给定范围中选择,如单选框,多选框
enum: 单选 只能在给定的范围内选一个值(多选一),如性别 sex 男male/女female
set : 多选 在给定的范围内可以选择一个或一个以上的值 ,如(爱好1,爱好2,爱好3...)
#enum:多选一
create table t10(id int, name varchar(4), gender enum('male', 'female', 'others'));
# insert into 表名(字段名) values(字段名对应的值);
insert into t13(id, name, gender) values(1, 'tank', 'male');
insert into t13(id, name, gender) values(1, 'tank', '人妖'); #报错,‘人妖’不在范围内
mysql> select * from t10;
+------+------+--------+
| id | name | gender |
+------+------+--------+
| 1 | tank | male |
+------+------+--------+
#set 可 多选一 或 多选多
create table t11(
id int,
name varchar(4),
hobbies set('read', 'sing', 'run', 'think')
);
insert into t11 values(1, 'bob', 'read,sing');
mysql> select * from t11;
+------+------+-----------+
| id | name | hobbies |
+------+------+-----------+
| 1 | bob | read,sing |
+------+------+-----------+
四、约束条件
初始约束条件:not null
#约束插入记录时id不能为空
create table t1(id int not null,name varchar(6));
insert into t1 values(1,'tank');
insert into t1 values(null,'tank'); #报错
mysql> select * from t1;
+----+------+
| id | name |
+----+------+
| 1 | tank |
+----+------+
unique: :唯一,将某个字段设置为唯一的值
create table t2(id int not null unique,name varchar(4));
insert into t2(id, name) values(1, 'tank'), (2, 'sean');
insert into t2(id, name) values(1, 'bob'); #报错,1已用过
+----+------+
| id | name |
+----+------+
| 1 | tank |
| 2 | sean |
+----+------+
primary key(主键)----> not null unique: pk就是表中的索引: 可以通过索引快速查找某些数据,提高查询效率。
# 将id设置为主键,非空且唯一
create table t3(id int primary key,name varchar(4));
insert into t3(id, name) values(1, 'tank');
insert into t3(id, name) values(2, 'sean');
insert into t3(id, name) values(1, 'bob'); #报错
mysql> desc t3;
+-------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(4) | YES | | NULL | |
+-------+------------+------+-----+---------+-------+
auto_increment:自增
# 将id设置为自增
create table t4(id int primary key auto_increment,name varchar(4));
# 自增默认从0开始
insert into t4(name) values('tank');
insert into t4(name) values('sean');
insert into t4(name) values('bob');
insert into t4(name) values('哈哈哥');
mysql> select * from t4;
+----+-----------+
| id | name |
+----+-----------+
| 1 | tank |
| 2 | sean |
| 3 | bob |
| 4 | 哈哈哥 |
+----+-----------+
## 若想自增从指定值开始,可插入第一条数据时先指定id的值;
insert into t4(id, name) values(10, 'tank');
insert into t4(name) values('sean'); # 11
insert into t4(name) values('bob'); # 12
insert into t4(name) values('哈哈哥'); # 13
mysql> select * from t4;
+----+-----------+
| id | name |
+----+-----------+
| 10 | tank |
| 11 | sean |
| 12 | bob |
| 13 | 哈哈哥 |
+----+-----------+
zerofill:使用0填充空格
create table t5(id int zerofill);
insert into t5 values(100);
mysql> select * from t5;
+------------+
| id |
+------------+
| 0000000100 |
+------------+
default:约束插入数据时的默认值
create table t7(id int,
name varchar(32) unique,
password varchar(255) default '000000');
insert into t7(id,name) values(1,'tank');
mysql> select * from t7;
+------+------+----------+
| id | name | password |
+------+------+----------+
| 1 | tank | 000000 |
+------+------+----------+
delete:清空表中所有记录:
truncate:清空表中的所有记录,并且id重置为0
#delete
create table t6(id int primary key auto_increment,name varchar(4));
insert into t6(name) values('tank');
insert into t6(name) values('大大大'), ('sean');
delete from t6;
insert into t6(name) values('tank');
insert into t6(name) values('大大大'), ('sean');
mysql> select * from t6;
+----+-----------+
| id | name |
+----+-----------+
| 4 | tank |
| 5 | 大大大 |
| 6 | sean |
+----+-----------+
#truncate
create table t6(id int primary key auto_increment,name varchar(4));
insert into t6(name) values('tank');
insert into t6(name) values('sean');
truncate table t6;
insert into t6(name) values('tank');
insert into t6(name) values('sean');
mysql> select * from t6;
+----+-----------+
| id | name |
+----+-----------+
| 1 | tank |
| 2 | sean |
+----+-----------+
五、设置严格模式
# 查看数据库配置中变量名包含mode的配置参数:
show variables like "%mode%";
# 修改安全模式:
set session; # 局部有效,只在你当前操作的窗口有效
set global session; # 全局有效,永久有效
# 修改完之后退出当前客户端重新登录即可,不用关闭服务端
set global sql_mode = 'STRICT_TRANS_TABLES';-------------------------------------------------------------------------
六,补充内容
#__author:86188#date: 2020/7/29#约束某一个字段#无符号的 int unsigned#不能为空 not null#默认值是什么 not null default ''#不能重复 unique#自增 auto_increment#主键 primary key#外键#create table biaoming(id int not null,name char(18) unique)
#联合唯一#ip +端口两列不能重复,单列可以重复#create table t14(id int,#server_name char(12 ),#ip char(15),#port char(15),#unique(ip,port));两个字段联合唯一 应用场景:姓名姓和名分开存的 unique(字段1,字段2)
#非空+唯一约束#第一个被定义为非空+唯一的那一列会成为这张表的**!主键primary key#一章表只能有一个主键#create table t15(#id int not null unique,#username char(18) not null unique)
#create table t16(id int not null unique,#username char(18) primary key) 指定主键
#联合主键
#create table t14(id int,#server_name char(12 ),#ip char(15), default '' 在空的时候默认添加''#port char(15),#primary key(ip,port));
#create table t14(id int,#server_name char(12 ),#ip char(15) not null,#port char(15) not null,#unique(ip,port));
#auto_increment 自增 如果自己增加了数据就从自己的数据开始加#只能对数字有效,自带非空约束#至少是unique的约束条件之后才能使用auto_increment;#create table t20(id int unique auto_increment,name char(20);#insert into t20(name) values('alex');
#show create table 表名#select * from 表名
#学生表#create table student(
id int primary key auto_increment,
name char(12) notnull,
gender enum('male','female') default 'male',
class_id int,
foreign key(class_id) referencesclass(cid), #foreign key(自己的字段)references 外表(外表字段)##外表字段至少是‘唯一’的,unique
);#班级表
create table class(
cid int primaey key auto_increment,
cname char(12) notnull,
startd date,
);#mysql命令行 \c表示不执行
create table student(
id int primary key auto_increment,
name char(12) notnull,
gender enum('male','female') default 'male',
class_id int,#即连修改,即连更新 删除太危险了!!!,删cid的话会使学#生表中与之对应的记录也删除
foreign key(class_id) references class(cid) on update cascade on delete cascade, #删除做联动效果
);
创建press表
CREATE TABLE `press` (
`id` int(11) NOT NULL,
`name` char(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ;
创建book表
CREATE TABLE `book` (
`id` int(11) DEFAULT NULL,
`bk_name` char(12) DEFAULT NULL,
`press_id` int(11) NOT NULL,
KEY `press_id` (`press_id`) #暂时感觉有点多余
) ;
为book表添加外键 这里的constraint是固定的
alter table book add constraint fk_id foreign key(press_id) references press(id);
删除外键
alter table book drop foreign key fk_id;
https://www.cnblogs.com/Eva-J/articles/9677452.html#_label7
-
MySQL修改字段大全
2021-07-27 11:05:09修改字段属性: -- 修改字段属性 -- ALTER TABLE tb_name MODIFY 字段名称 字段类型 [完整性约束条件] -- 将email字段 VARCHAR(50)修改成VARCHAR(200) -- 注意,修改时如果不带完整性约束条件,原有的约束条件将丢失...修改字段属性:
-- 修改字段属性 -- ALTER TABLE tb_name MODIFY 字段名称 字段类型 [完整性约束条件] -- 将email字段 VARCHAR(50)修改成VARCHAR(200) -- 注意,修改时如果不带完整性约束条件,原有的约束条件将丢失,如果想保留修改时就得带上完整性约束条件 ALTER TABLE user10 MODIFY email VARCHAR(200) NOT NULL DEFAULT 'a@a.com'; -- 将card移到test后面 ALTER TABLE user10 MODIFY card CHAR(10) AFTER test; -- 将test放到第一个,保留原完整性约束条件 ALTER TABLE user10 MODIFY test CHAR(32) NOT NULL DEFAULT '123' FIRST; 修改字段名称和属性: -- 将test字段改为test1 -- ALTER TABLE 表名 CHANGE 原字段名 新字段名 字段类型 约束条件 ALTER TABLE user10 CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123'; 添加删除默认值: -- 创建新表 CREATE TABLE user11( id TINYINT UNSIGNED KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL UNIQUE, age TINYINT UNSIGNED ); -- 给age添加默认值 ALTER TABLE user11 ALTER age SET DEFAUTL 18; -- 添加一个字段 ALTER TABLE user11 ADD email VARCHAR(50); -- 给email添加默认值 ALTER TABLE user11 ALTER email SET DEFAULT 'a@a.com'; -- 删除默认值 ALTER TABLE user11 ALTER age DROP DEFAULT; ALTER TABLE user11 ALTER email DROP DEFAULT; 添加主键: -- 创建一个表 CREATE TABLE test12( id INT ); -- 添加主键 -- ALTER TABLE tb_name ADD [CONSTRAINT [sysmbol]] PRIMARY KEY [index_type] (字段名称,...) ALTER TABLE test12 ADD PRIMARY KEY(id); -- 添加复合主键 -- 先创建个表 CREATE TABLE test13( id INT, card CHAR(18), username VARCHAR(20) NOT NULL ); -- 添加复合主键 ALTER TABLE test13 ADD PRIMARY KEY(id,card); 删除主键: -- 删除主键 ALTER TABLE test12 DROP PRIMARY KEY; -- 再给test12添加主键, 完整形式 ALTER TABLE test12 ADD CONSTRAINT symbol PRIMARY KEY index_type(id); 在删除主键时,有一种情况是需要注意的,我们知道具有自增长的属性的字段必须是主键,如果表里的主键是具有自增长属性的;那么直接删除是会报错的。如果想要删除主键的话,可以先去年自增长属性,再删除主键 -- 再创建一个表, CREATE TABLE test14( id INT UNSIGNED KEY AUTO_INCREMENT ); -- 删除主键,这样会报错,因为自增长的必须是主键 ALTER TABLE test14 DROP PRIMARY KEY; -- 先用MODIFY删除自增长属性,注意MODIFY不能去掉主键属性 ALTER TABLE test14 MODIFY id INT UNSIGNED; -- 再来删除主键 ALTER TABLE test14 DROP PRIMARY KEY; 唯一索引: -- 添加唯一性约束 -- ALTER TABLE tb_name ADD [CONSTANT [symbol]] UNIQUE [INDEX | KEY] [索引名称](字段名称,...) -- 创建测试表 CREATE TABLE user12( id TINYINT UNSIGNED KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, card CHAR(18) NOT NULL, test VARCHAR(20) NOT NULL, test1 CHAR(32) NOT NULL ); -- username添加唯一性约束,如果没有指定索引名称,系统会以字段名建立索引 ALTER TABLE user12 ADD UNIQUE(username); -- car添加唯一性约束 ALTER TABLE user12 ADD CONSTRAINT symbol UNIQUE KEY uni_card(card); -- 查看索引 SHOW CREATE TABLE user12; -- test,test1添加联合unique ALTER TABLE user12 ADD CONSTRAINT symbol UNIQUE INDEX mulUni_test_test1(test, test1); -- 删除唯一 -- ALTER TABLE tb_name DROP {INDEX|KEY} index_name; -- 删除刚刚添加的唯一索引 ALTER TABLE user12 DROP INDEX username; ALTER TABLE user12 DROP KEY uni_card; ALTER TABLE user12 DROP KEY mulUni_test_test1; 修改表的存储引擎: -- 修改表的存储引擎 -- ALTER TABLE tb_name ENGINE=存储引擎名称 ALTER TABLE user12 ENGINE=MyISAM; ALTER TABLE user12 ENGINE=INNODB; 修改自增长值: -- 修改自增长的值 -- ALTER TABLE tb_name AUTO_INCREMENT=值 ALTER TABLE user12 AUTO_INCREMENT=100;
-
MySQL学习笔记之约束,创建约束、修改约束、删除约束
2022-02-21 00:09:23一、约束的含义与分类 含义:一种限制,用于限制表中的数据,为了保证表中的数据的...CHECK: 检查,【mysql中不支持】,用于检查值 FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表 -
mysql添加列级约束,修改约束
2022-03-20 08:54:44添加列级约束 主键接受列级约束和表级约束两种写法 #2.添加主键 列级约束 ALTER TABLE school MODIFY COLUMN id INT PRIMARY KEY; #表级约束 ALTER TABLE school ADD PRIMARY KEY(id); 第一种方式 CREATE ... -
用sql命令修改数据表中的一个字段为非空(not null)的语句
2021-01-20 00:19:08ALTER TABLE table1 ALTER COLUMN ... 您可能感兴趣的文章:sql server建库、建表、建约束技巧mysql建库时提示Specified key was too long max key length is 1000 bytes的问题的解决方法Mysql 建库建表技巧分享SQL S -
MySQL 字段增删改查 和 约束条件
2021-01-18 18:37:44一、字段操作1.添加字段 (add)alter table add 字段名 数据类型;desc ;2.修改字段数据类型 (modify)alter table ...#可用来修改字段数据类型#也可以在修改数据类型后添加默认值或其它约束条件#可以在最后修改字段位... -
mysql修改字段长度命令_值得收藏:一份非常完整的 MySQL 规范
2021-03-19 18:44:45mysql修改字段长度命令_值得收藏:一份非常完整的 MySQL 规范 一、数据库命令规范 二、数据库基本设计规范 三、数据库字段设计规范 四、索引设计规范 五、常见索引列建议 六、如何选择索引列的顺序 七、... -
mysql修改字段名-Mysql,修改
2021-01-26 07:54:27本教程分享:《mysql修改字段名》,在MySQL数据库,如何修改字段名alter table student change physics physisc char(10) not null;其中char(10) not null是你physisc字段的create_definition.MySQL怎么修改字段名... -
MySQL 查看数据库表结构 修改表结构 修改字段 修改约束条件 修改表名 删除数据库表
2019-03-12 13:34:01MySQL 查看数据库表结构 修改表结构 修改字段 修改约束条件 修改表名 删除数据库表 查看数据库表结构 可以使用 describe 语句来查看数据表结构,代码如下: describe users; 在控制台中输入上述语句后的执行... -
MySQL学习笔记4:完整性约束限制字段
2020-12-15 16:53:48完整性约束是对字段进行限制,从而符合该字段达到我们期望的效果比如字段含有默认值,不能是NULL等 直观点说:如果插入的数据不满足限制要求,数据库管理系统就拒绝执行操作 设置表的主键 主键能够标识表中每条信息... -
mysql alter table命令修改表结构实例
2020-12-15 20:43:45mysql alter table语句可以修改表的基本结构,例如添加字段、删除字段、添加主键、添加索引、修改字段数据类型、对表重命名等等操作,本文章通过两个简单的实例向大家介绍mysql alter table的使用方法 实例一:... -
数据库——字符编码、存储引擎、MySQL字段类型、MySQL字段约束条件
2022-05-04 15:11:44日期类型四、mysql字段约束条件1.无需正负号2.零填充3.非空4.默认值5.唯一值6.自增7.主键 一、字符编码 \s 查看数据库字符编码信息 如果是5.X系列 显示的编码有多种 latin1 gbk 如果是8.X系列 显示的统一是utf8mb4... -
mysql主键非空约束怎么设置?
2021-02-02 07:23:20mysql中可以通过在“CREATE TABLE”语句中,使用“ PRIMARY KEY [默认值]”语句来设置主键约束,使用“ NOT NULL”语句来设置非空约束。mysql主键约束主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MySQL 中使用... -
mysql有些字段是非必填的,传空要查所有数据该怎么处理?
2021-02-06 00:35:36char 类型字段设置默认值(如 ''),那么在mysql 他存储的就是null所以,如果你是要查指定cityId 并且 regionId 为空的sql 就这么写:SELECT*FROMcontentWHEREcityId='C-e834160464892529719476' andregionId is null... -
mysql alter table命令修改表结构实例详解
2020-12-18 20:20:31mysql alter table语句可以修改表的基本结构,例如添加字段、删除字段、添加主键、添加索引、修改字段数据类型、对表重命名等等操作,本文章通过两个简单的实例向大家介绍mysql alter table的使用方法。 实例一:... -
mysql使用alter语句修改表中字段的长度会影响原来的约束条件吗?
2018-06-13 06:57:12alter table .. modify .. varcher(n)会不会改变表原来的索引,非空约束等? -
mysql多字段唯一约束
2021-01-21 06:52:17MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。在创建表时设置唯一约束在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下: ... -
MySQL——约束条件、外键
2022-03-23 23:20:53文章目录创建表的完整语法约束条件not ... 字段名1 数据类型 约束条件1 约束条件2 约束条件3, 字段名2 数据类型 约束条件1 约束条件2 约束条件3, 字段名3 数据类型 约束条件1 约束条件2 -
MYSQL的约束条件
2022-04-12 15:01:22一、主键约束 1.特点:不能添加重复的值,并且值不能为NULL。 2.分类: (1)单链主键 CONSTRAINT pk1 primary key(eid) (2)联合主键: 就是由一张表中多个字段组成的。 primary key(字段1,字段2,……,字段n... -
MySQL的字段类型和约束条件
2019-05-21 21:04:02字段名 字段类型[(宽度) 约束条件], ………… 字段名 字段类型[(宽度) 约束条件] ) # 栗子 create database testnow; use testnow; create table info(name char); insert int... -
SQL 语句 以某一个字段为条件 修改某一个字段的值
2021-01-18 21:54:48展开全部update table set col2=case when col1 ...或者分为几句修改update table set col2=值1 where col1 条件1update table set col2=值2 where col1 条件2扩展资料:SQL修改字段属性总636f70793231313335323631... -
MySQL修改字段、修改表索引等操作
2018-05-14 16:30:181、展示一张已经存在的表的建表语句show create table (目标表格) 2、将表引擎改为innodbaalter table t_starmcn engine=...4、修改表中字段的数据类型alter table table_name modify 属性名 数据类型;5、修改表中... -
MySql 数据表更新操作,增加列,删除列,修改字段类型,添加字段约束
2019-03-27 01:24:15ALTER TABLE 表名 CHANGE 原字段名 新字段名 字段类型 约束条件 alter table (table_name) change (old_col_name) (new_col_name) [约束] 5.1)添加字段的外键约束 保留字:add,constraint alter table ... -
mysql 数据类型 约束条件
2021-01-19 02:05:18不同的用户体验数据类型:规定了数据库可以存放哪些数据约束:限制储存数据的规则引擎: 针对于表的前提:引擎是建表时规定,提供给表使用,不是数据库mysql>> show engines ; 展示所有引擎重点:innodb(默认):支持... -
SQLServer之修改UNIQUE约束
2021-01-27 02:56:12使用SSMS数据库管理工具修改UNIQUE约束1、连接数据库,选择数据表-》右键点击-》选择设计(或者展开键,选择要修改的键,右键点击,选择修改,后面步骤相同)。2、选择要修改的数据列-》右键点击-》选择索引/键。3、在... -
mysql- 字段各种处理、添加各种约束
2018-04-20 15:23:29修改字段属性: -- 修改字段属性 -- ALTER TABLE tb_name MODIFY 字段名称 字段类型 [完整性约束条件] -- 将email字段 VARCHAR(50)修改成VARCHAR(200) -- 注意,修改时如果不带完整性约束条件,原有的约束条件将... -
mysql-修改字段属性(8)
2018-07-28 10:23:23modify和change关键字修改属性,使用modify和change关键字都可以修改字段属性,可以字段的数据格式类型,以及约束性条件。 但是change和modify也有不同之处的,change可以修改字段名,但是modify不能。下面分别...