MySQL常用基本SQL语句总结

连接数据库

==注意区分两种方式的区别==

> mysql -h 127.0.0.1 -P 3306 -u root -p
> mysql -h127.0.0.1 -p3306 -uroot -p123

数据库SQL相关操作

mysql> show databases;   -- 查询数据库列表
mysql> show charset;  -- 查询数据库的字符集信息
mysql> create database [if not exists] 数据库名 [character set=utf8];  -- 创建数据库
mysql> alter database 数据库名 character set=gbk;   -- 修改数据库的字符集
mysql> drop database [if exists] 数据库名;  -- 删除数据库

数据表SQL相关操作

  • 创建和删除数据表
# 创建数据表
mysql> CREATE TABLE [IF NOT EXISTS ] `table_name`(
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `uid` CHAR(16) NOT NULL DEFAULT '' COMMENT '用户唯一ID',
  `username` VARCHAR(30) NOT NULL DEFAULT '',
  `add_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '入库时间',
  PRIMARY KEY (`id`),   -- 设置主键
  UNIQUE `uid` (`uid`),  -- 设置唯一键
  KEY `username` (`username`)   -- 设置普通索引
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='表注释说明';

# 删除数据表
mysql> drop table [if exists] 表名
  • 修改数据表
# 添加字段
mysql> alter table `table_name` add `status` tinyint(3) unsigned not null default '1' comment '1表示数据有效';
# 修改字段(可改名)
mysql> alter table `table_name` change `uid` `uid_new` varchar(32) not null default '';
# 修改字段(只能改属性)
mysql> alter table `table_name` modify `username` varchar(32) not null default '' comment '用户名';
# 删除字段
mysql> alter table `table_name` drop `add_time`;
# 添加普通索引
mysql> alter table `table_name` add key `username` (`username`);
# 添加唯一索引
mysql> alter table `table_name` add unique key `uid_key` (`uid`);
# 删除索引
mysql> alter table `table_name` drop key `uid_key`;
# 修改表名
mysql> alter table `table_name` rename `table_name_new`;
  • 数据表添加数据
# 添加单条数据
mysql> insert [into] 表名 (field1,field2,field3) values (val1,val2,val3)
mysql> insert [into] 表名 set field1=val1,field2=val2,field3=val3;
# 批量添加数据
mysql> insert [into] 表名 (field1,field2,field3) values (val11,val12,val13),(val21,val22,val23),(val31,val32,val33);
mysql> insert [into] 表名 (field1,field2,field3) (select field1,field2,field3 from 表名);
  • 数据表修改数据
mysql> update 表名 set field1=val1,field2=val2,field3=val3 [where条件]
  • 数据表删除数据
mysql> delete from 表名 [where条件]
mysql> truncate [table] 表名    -- 用于直接删除整个表(结构)并重新创建该表

你可能感兴趣的:(MySQL)