MySQL 创增删改表的sql命令汇集

1、修改主键

第一步,删除原来的主键:

ALTER TABLE table_name DROP PRIMARY KEY;

第二步,为新字段增加主键(确保新字段的唯一性):

ALTER TABLE table_name ADD PRIMARY KEY(id);


2、增加,删除修改

增加列:   ALTER TABLE table_name ADD COLUMN cloumn_nameVARCHAR(255);

删除列:ALTER TABLE table_name DROP COLUMN column_name;

修改列的数据类型:ALTER TABLE table_name MODIFY column_name BIGINT(20);

修改列名:ALTER TABLE table_name  CHANGE old_name new_name INTEGER;

修改列的顺序:ALTER TABLE table_name MODIFY field [int not null default 0] AFTER other_field;

                            ALTER TABLE table_name MODIFY field [int not null default 0] first;

连接其他表来修改列的值:UPDATE tb1,  tb2 [INNER JOIN | LEFT JOIN] tb1 ON tb1.C1 = tb2. C1 SET tb1.C2 = tb2.C2, tb2.C3 = expr WHERE condition;


3、浏览数据库,表,字段

查看数据库: SHOW DATABASES;

使用某个数据库: USE database_name;

查看数据库中的表:SHOW TABLES;

查看某个表的结构:DESCRIBE table_name;

查看某个表的创建格式:SHOW CREATE TABLE table_name;


4、添加和删除外键
添加外键:ALTER TABLE table_name ADD FOREIGN KEY  (filed) REFERENCES other_table_name (field‘);

删除外键:1,SHOW CREATE TABLE table_name; (查找table_name_ibfk_1)
                  2,ALTER TABLE table_name DROP FOREIGN KEY table_name_ibfk_1;(通过table_name_ibfk_1删除外键)


5、删除完全重复记录的思路

原因:设计表时,没有设置主键, uid重复。
思路:添加自增的主键--------ALTER TABLE tb_name ADD id INTEGER AUTO_INCREMENT PRIMARY KEY;

          删除重复记录----------DELETE FROM table_name, (SELECT *, MIN(id) FROM table_name GROUP BY uid HAVING COUNT(uid) > 1) AS temp WHERE table_name.id > temp.id;
          取消主键-----------------见1

          删除列--------------------见2

          重新设置主键----------见1
结论:比较笨的方法,网上有的答案,但没什么效果。


6、把一个数据库中的表复制到另一个数据库中

把table1的数据从数据库a复制到数据库b:CREATE TABLE b.table1 AS SELECT * FROM a.table1;

把table1的结构从数据库a复制到数据库b:CREATE TABLE b.table1 LIKE a.table1;


7、给另一个ip授权

给ip授予全部数据库的全部权限:GRANT ALL PRIVILEGES ON *.* TO usrName@ip IDENTIFIED BY password;

给ip授予部分数据库的部分权限:GRANT select,update ON database_name.* TO usrName@ip IDENTIFIED BY password;


8、对表的创建、修改、删除

修改表的名字:ALTER TABLE oldName RENAME  newName;

彻底删除表:DROP TABLE tableName;

删除表的全部数据:DELETE FROM tableName;


9、数据库备份与恢复

导出整个数据库:(进入MySQL的bin目录下或者如bin已添加至path,进入控制台即可)mysqldump -h hostAddress -u usrName -p databaseName > fileName.sql; (Password不必显式写入命令行,提示时再输入,下同

导出数据库中的一个表:mysqldump -u usrName -p password databaseName tableName > fileName.sql;

导出一个数据库结构:mysqldump -u usrName -p password -d --add-drop-tabledatabaseName  > d:\fileName.sql

导入一个数据库:(进入mysql数据库控制台)use databaseName; source d:\fileName.sql

注意:把导出的文件再导入时须先建立一个数据库


10、索引创建与删除

创建全文索引:CREATE FULLTEXT INDEX index_name ON tableName (fieldName, fieldName ...) ;

删除全文索引:DROP INDEX index_name ON talbe_name;

查看索引:SHOW INDEX FROM tableName;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值