2021-7-29 MySql进阶

Alter的使用:

列的增加和删减

alter table users add user_name VARCHAR(100);#添加一列在末尾
SELECT * from users;
alter table users drop user_name;#删除一列
SELECT * from users;
alter table users add user_name VARCHAR(100) first;#添加一列在第一行
SELECT * from users;
alter table users drop user_name;
alter table users add user_name VARCHAR(100) after user_password;#添加一列在user_password之后
SELECT * from users;
alter table users drop user_name;

 

 修改列的名称和类型

alter table users MODIFY user_name int;#将user_name修改成int类型
alter table users CHANGE user_name uname VARCHAR(100);#将列user_name的名称改成uname,类型改为varchar(100);

 

修改列的默认值

alter table users alter uname set DEFAULT 100;#设置默认值
show COLUMNS from users;
alter table users alter uname drop DEFAULT;#删除默认值
show COLUMNS from users;#显示表的设计状态

 

修改表的各种状态

alter table users ENGINE=myisam;#修改表状态为myisam
show table STATUS like 'users' ;#展示表的状态
alter table users ENGINE=INNODB;
SHOW table STATUS like 'users';

 

修改表的名称

alter table newtable rename to school;#将newtable的表名称改为school

 

 

索引的使用:

索引可以大大提高索引效率,但是用太多的索引,但会降低更新表的速度,所以不要滥用

CREATE TABLE mytable
(  
ID INT NOT NULL,   
username VARCHAR(16) NOT NULL,  
index usernameIndex (username)#创建表的时候创建索引
); 
drop index usernameIndex on mytable;#删除索引
drop TABLE mytable;


CREATE TABLE newtable(  
ID INT NOT NULL,   
username VARCHAR(16) NOT NULL,  
UNIQUE usernameIndex (username)  #创建唯一索引
); 

drop TABLE newtable

 普通索引:没有什么限制;

唯一索引:索引列的每个值都必须是唯一值

主键:只能有一列

全文索引:适合用于模糊查询,查找字符串内的字符

CREATE TABLE mytable
(  
ID INT NOT NULL,   
username VARCHAR(16) NOT NULL,  
index usernameIndex (username)#创建表的时候创建索引
); 
drop index usernameIndex on mytable;#删除索引

alter table mytable ADD PRIMARY key(ID);#主键索引
show INDEX from mytable;#显示索引
alter table mytable drop PRIMARY key;


alter table mytable add UNIQUE idIndex(ID);#唯一索引
show INDEX from mytable;
drop index idIndex on mytable;

alter table mytable add index idIndex(ID);#索引
show INDEX from mytable;
drop index idIndex on mytable;

alter table mytable add FULLTEXT idIndex(username);#全文索引
show INDEX from mytable;
drop index idIndex on mytable;

drop table mytable;

 

posted @ 2021-07-30 10:11  月长生  阅读(29)  评论(0)    收藏  举报