-
日期时间型 一、存储范围(一般用的较少,多用数字类型表示,跨时区问题?) 1、YEAR:1970至2069 2、TIME:-838:59:59至838:59:59 3、DATE:1000-1-1至9999-12-31 4、DATETIME: 1000-1-1 00:00:00至9999-12-31 23:59:59 5、TIMESTAMP(时间戳):1970-01-01 08:00:01至2038-01-19 11:14:07查看全部
-
浮点型数据 FLOAT[(M,D)] M-数字总位数 D-小数点后面的位数 单精度浮点数精确到小数点后7位 DOUBLE[(M,D)]查看全部
-
MySQL数据类型:整形查看全部
-
1.修改列定义 ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST |AFTER col_name]; ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; //将id字段的位置提到第一列 SHOW COLUMNS FROM users2; ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL; //修改数据类型,需注意数据丢失的问题 2.修改列名称 ALTER TABLE tbl_name CHANGE [COLUMN] col_name new_col_name column_definition [FIRST|AFTER col_name]; ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED; //修改列名称 3.数据表更名 方法1 ALTER TABLE tbl_name RENAME [TO/AS] new_tbl_name ALTER TABLE users2 RENAME TO users3; SHOW TABLES; ALTER TABLE users2 RENAME AS users4; SHOW TABLES; ALTER TABLE users2 RENAME users5; 方法2 RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ... RENAME TABLE users5 TO users2; 近来少使用数据表的列名及表名的更名。 2.约束 按功能划分:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY 按数据列的数目划分:表级约束, 列级约束 3.修改数据表 针对字段的操作:添加/删除字段、修改列定义、修改列名称等。 针对约束的操作:添加/删除各种约束 针对数据表的操作:数据表更名(两种方式)查看全部
-
1.删除主键约束 ALTER TABLE tbl_name DROP PRIMARY KEY; ALTER TABLE users2 DROP PRIMARY KEY; SHOW COLUMNS FROM users2; 2.删除唯一约束 ALTER TABLE tbl_name DROP {INDEX|KEY} index_name; ALTER TABLE users2 DROP INDEX username; SHOW COLUMNS FROM users2; SHOW INDEXES FROM users2; 3.删除外键约束 ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol; SHOW CREATE TABLE users2; ALTER TABLE users2 DROP FOREIGN KEY ...;查看全部
-
1.添加主键约束 ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name, ...); CREATE TABLE users2( username VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED ); SHOW CREATE TABLE users2; ALTER TABLE users2 ADD id SMALLINT UNSIGNED; SHOW COLUMNS FROM users2; ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id); SHOW COLUMNS FROM users2; 2.添加唯一约束 ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...); ALTER TABLE users2 ADD UNIQUE (username); SHOW COLUMNS FROM users2; 3.添加外键约束 ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] FOREIGN KEY [index_name] (index_col_name, ...) reference_definition ALTER TABLE users2 ADD FOREIGN KEY (pid) REFERENCES province (id); 4.添加、删除默认约束 ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} ALTER TABLE users2 ADD age TINYINT UNSIGNED NOT NULL; ALTER TABLE users2 ALTER age SET DEFAULT 15; SHOW一下 ALTER TABLE users2 ALTER age DROP DEFAULT;查看全部
-
1.修改数据表 添加单列 ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]; SHOW COLUMNS FROM users1; ALTER TABLE users1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10; ALTER TABLE users1 ADD passwd VARCHAR(30) NOT NULL AFTER username; ALTER TABLE users1 ADD truename VARCHAR(20) NOT NULL FIRST; 2.添加多列 ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition, ...); 3.删除列 ALTER TABLE tbl_name DROP [COLUMN] col_name; ALTER TABLE users1 truename;//单次删除 ALTER TABLE users1 DROP passwd, DROP age; SHOW COLUMN FROM users1;查看全部
-
对一个数据列建立的约束,称为列级约束. 对多个数据列建立的约束,称为表级约束. 列级约束既可以在列定义时声明,也可以在列定义后声明。 表级约束只能在列定义后声明。 NOT NULL和DEFAULT约束不存在表级约束查看全部
-
1.外键约束的参照操作 CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行 SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL.如果使用该选项,必须保证子表列没指定非空 RESTRICT:拒绝对父表的删除或更新操作。 NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同 CREATE TABLE user1( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES province('id') ON DELETE CASCADE ); SHOW CREATE TABLE user1; INSERT province(pname) VALUES('A'); INSERT province(pname) VALUES('B'); INSERT province(pname) VALUES('C'); SELECT * FROM province; INSERT users1(username, pid) VALUES('TOM', 3); INSERT users1(username, pid) VALUES('John', 7);//不符合外键约束 INSERT users1(username, pid) VALUES('John', 1); INSERT users1(username, pid) VALUES('Rose', 3); SELECT * FROM users1; DELETE FROM province WHERE id=3; SELECT * FROM province; SELECT * FROM users1; 很少使用物理外键约束,常用逻辑的外键约束。 实际的使用中,一般不去定义物理的外键约束。查看全部
-
1.约束 保证数据的完整性和一致性 约束分为表级约束和列级约束 约束类型包括 NOT NULL(非空约束) PRIMARY KEY(主键约束) UNIQUE KEY(唯一约束) DEFAULT(默认约束) FOREIGN KEY(外键约束) 2.外键约束 - FOREIGN KEY 保持数据一致性, 完整性 实现一对一或一对多关系 3.外键约束的要求 父表和子表必须使用相同的存储引擎,而且禁止使用临时表 数据表的存储引擎只能为InnoDB 外键列和参照列必须具有类似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。 外键列和参照列必须参加索引。如果外键列不存在索引的话,MySQL将自动创建索引。 4.编辑数据表的默认存储引擎 MySQL配置文件 default-storage-engine=INNODB mysql -uroot -p USE test; CREATE TABLE province( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, pname VARCHAR(20) NOT NULL ); SHOW CREATE TABLE province; CREATE TABLE users( id SMALLINT UNSIGNED PRIMARY KEY AUTOINCREMENT, username VARCHAR(10) NOT NULL, pid BIGINT, FOREIGN KEY (pid) REFERENCE province (id) ); //有错 CREATE TABLE users( id SMALLINT UNSIGNED PRIMARY KEY AUTOINCREMENT, username VARCHAR(10) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCE province (id) ); //成功 SHOW INDEXES FROM province; SHOW INDEXES FROM users; SHOW CREATE TABLE users;查看全部
-
1.数据类型 整型 浮点型 日期类型 字符型 2.数据表的操作 如何创建数据表 PRIMARY KEY(主键约束) UNIQUE KEY(唯一约束) DEFAULT(默认约束) NOT NULL(非空约束) 3.记录插入 4.记录查找查看全部
-
存储过程与自定义函数的区别: 存储过程实现的功能要复杂一些;而函数的针对性更强 存储过程可以返回多个值;函数只能有一个返回值 存储过程一般独立的来执行;而函数可以作为其他SQL语句的组成部分来出现。查看全部
-
存储过程不能直接修改过程体,如果想要修改过程体就这能删除存储过程,然后重新创建。查看全部
-
mysql中的ROW_COUNT()可以返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的行数。 判断Select得到的行数用found_rows()函数。查看全部
-
set @i=7;设置用户变量,和mysql客户端绑定,只对当前用户使用的客户端生效,退出客户端用户变量自动释放 declare所申明的变量叫做局部变量,作用范围只在begin,and语句块之间,begin,and语句块运行完局部变量就消失。 注意: A、sql 语句必须以分号结束(提前修改分隔符) B、out 参数变量必须使用 into C、调用时 out 参数变量以 @ 为前缀查看全部
举报
0/150
提交
取消