-
MySQL常用命令
显示当前服务器版本
显示当前日期时间
显示当前用户
查看全部 -
MySQL提示符
查看全部 -
修改MySQL提示符
查看全部 -
清屏命令cls
查看全部 -
MySQL退出
查看全部 -
MySQL登陆及几个指令
查看全部 -
MySQL目录结构
查看全部 -
一般情况下,在windows软件中,典型安装都是将安装文件存储在C/Program Files下
查看全部 -
TINYINT1 SMALLINT2 MEDIUMINT3 INT4 BIGINT8
查看全部 -
本节知识点
查看全部 -
修改数据表【添加或删除约束】:
ALTER TABLE table_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type](index_col_name,...)//这是添加主键约束(只能有一个)
ALTER TABLE table_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX/KEY] [index_name] [index_type] (index_col_name,...);//这是添加唯一约束(可以有多个)
ALTER TABLE table_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition;//这是添加外键约束(可以有多个)
ALTER TABLE table_name ALTER [COLUMN] col_name {SET DEFAULT literal(这个literal的意思是加上的default)/DROP DEFAULT}//添加或删除默认约束
ALTER TABLE table_name DROP PRIMARY KEY;//删除主键约束
ALTER TABLE table_name DROP {INDEX/KEY} index_name;//删除唯一约束
ALTER TABLE table_name DROP FOREIGN KEY fk_symbol;//删除外键约束
最后两个跟索引有关的注意一下????
查看全部 -
修改数据表【增加或删减列】:
A.增加单列:ALTER TABLE table_name ADD [COLUMN] col_name column_definition [FIRST/AFTER col_name];//first的意思是新插入的列在在前面,after xxx的意思是新列在xxx后面,如果省略这个新列就会在最下面
B.添加多列:
ALTER TABLE table_name ADD [COLUMN] (col_name column_definition,...)//会直接加在最后面,无法选择新列加在哪里
C.删除列
ALTER TABLE table_name DROP col_name;
注意:可以连续删除两列,用逗号隔开即可E.G ALTER TABLE table_name DROP col1_name,DROP col2_name;
也可以同时删除与加新列 E.G ALTER TABLE table_name DROP col1_name,ADD col2_name col2_definition;
查看全部 -
INSERT into tb1_name [(col_name)] select
EXISTS与IN的使用效率的问题,通常情况下采用exists要比in效率高,因为IN不走索引,但要看实际情况具体使用:
IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况。在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,可以通过使用 EXISTS 条件句防止插入重复记录。
INSERT INTO TableIn (ANAME,ASEX)
SELECT top 1 '张三', '男' FROM TableIn
WHERE not exists (select * from TableIn where TableIn.AID = 7)查看全部 -
【外键约束的参照操作】:
A.CASCADE:从父表删除或更新时自动删除或更新子表中匹配的行
B.SET NULL:从父表删除或更新行,并设置子表中外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL
C.RESTRICT:拒绝对父表的删除或更新操作
D.NO ACTION:与C相同
E.G
CREATE TABLE users1(
id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(10) NOT NULL,
pid SMALLINT UNSIGNED,
FOREIGN KEY (pid) REFERENCES provinces(id) ON DELETE CASCADE );
查看全部 -
约束分为列级约束(约束针对某一个字段)和表级约束(约束针对两个或两个以上字段)
列级约束既可以在列定义前声明也可以在列定义后声明;而表级约束要在列定义后声明
【外键约束FOREIGN KEYp】的要求:
A.父表和子表必须使用相同的存储引擎即InnoDB,且禁止使用临时表
B.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;字符的长度可以不同
C.外键列和参照列必须创造索引,如果外键列不存在索引的话系统将自动生成
E.G
CREATE TABLE provinces(
id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
pname VARCHAR(20) NOT NULL );
CREATE TABLE users( //这里的users称为子表,有外键的表称为子表;子表所参照的表称为父表,就是上面的provinces
id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(10) NOT NULL,
pid SMALLINT UNSIGNED,
FOREIGN KEY (pid) REFERENCES provinces(id));// 这里的pid为外键列,而provinces的id为参照列
查看全部
举报