2021年3月16日星期二

MySQL 常用命令

mysql -u <用户名> -p

数据库登录

 

CREATE DATABASE <数据库名>

创建数据库


show databases;

显示所有数据库

 

USE <数据库名>

选择要操作的数据库


show tables;

查看数据库中创建的所有数据表


drop database dbname;

删除数据库


create table <表名>(<列名1> <类型1>,

<列名2> <类型2>,

<列名3> <类型3>,

<列名4> <类型4>);

创建数据表


CREATE TABLE IF NOT EXISTS <表名>(<列名1> <类型1>, <列名2> <类型2>);

IF NOT EXISTS 表示当数据表不存在时创建表。

 

CREATE TABLE <表名>(
   <列名1> <类型1> UNSIGNED AUTO_INCREMENT,
   <列名2> <类型2> NOT NULL,
   PRIMARY KEY ( <列名1> )
)ENGINE=InnoDB [DEFAULT] CHARSET=utf8;

UNSIGNED ------无符号

AUTO_INCREMENT------自动增长

NOT NULL ------非空约束

ENGINE = INNODB 指定要使用的存储引擎为 INNODB

CHARSET=utf8 指定字符集为utf8

 ZEROFILL-------零填充,当数据的显示长度不够的时候可以使用前补0的效果填充至指定长度,字段会自动添加UNSIGNED

DEFAULT------默认值,如果插入记录的时候没有给字段赋值,则使用默认值

PRIMARY KEY------主键,标识记录的唯一性,值不能重复,一个表只能有一个主键,自动禁止为空

UNIQUE KEY------唯一性,一个表中可以有多个字段是唯一索引,同样的值不能重复,但是NULL值除外

FOREIGN KEY------外键约束

 

DROP TABLE <表名>

删除表

 

alter table <表名> modify [COLUMN] <字段名> <字段类型>;

 修改字段类型

 

alter table <表名> add [COLUMN] <字段名> <字段类型>;

增加字段  

 

alter table tableName add (<字段名1> <字段类型1>, <字段名2> <字段类型2>,...);

增加字段


ALTER TABLE table  
ADD [COLUMN] <字段名1> <字段类型1> [FIRST|AFTER existing_column]
ADD [COLUMN] <字段名2> <字段类型2> [FIRST|AFTER existing_column], ...;

增加字段



alter table <表名> drop [column] <字段名>;

删除字段


alter table <表名> change [COLUMN] <旧字段名> <新字段名> <新字段类型> ;

修改字段名


在 alter 最后的 FIRST 或 AFTER <字段名>: 这是一个选项,告诉 MySQL 新字段在数据表中的位置(FIRST代表放在第一列,AFTER代表放在某一列之后)。如果没有这个参数,新字段将被添加到数据表所有字段的末尾。

 

alter table <旧表名> rename <新表名>;

修改表名

 

 

 

insert into <表名> (<字段1>,<字段2>,<字段3>,<字段4>) values(<值1>,<值2>,<值3>,<值4>);

insert into <表名> values(<值1>,<值2>,<值3>,<值4>);

插入记录


update <表名> set <字段1>=<值1>,<字段2>=<值2> where <字段>=<值>;
更新记录


UPDATE <表名1>,<表名2> set <表名1>.<字段1>=<值1>,<表名2>.<字段2>=<值2> WHERE <表名>.<字段>=<值>;

比如:update t4,t5 set t5.score=t4.age*t5.score,t5.age=600 where
t5.age=t4.age;

更新记录

 

 delete from <表名> where <字段>=<值>;

 delete <表1>,<表2> from <表1>,<表2> where <表名1>.<字段1>=<表名2>.<字段2> ;

比如: delete t5,t6 from t5,t6 where t5.id=t6.id ;

删除记录


select <字段1>,<字段2>,<字段3>,<字段4> from <表名> where <字段>=<值> ;

查询记录


select distinct <字段名> from <表名>;

查询不重复的记录


select * from  <表名> order by <字段名>[DESC|ASC];

按排序显示查询结果

其中,DESC 和ASC 是排序顺序关键字,DESC 表示按照字段进行降序排列,ASC 则表示升序
排列,如果不写此关键字默认是升序排列。


select <字段名> from <表名> limit 3;

显示<表名>的前3条记录


select <字段名> from <表名> limit 1,3;

从<表名>的第二条记录开始,显示3 条记录


SELECT <字段名> FROM <表1> UNION SELECT <字段名> FROM <表2>;

把多个 SELECT 语句的结果组合到一个结果集合中,并去重。

 

SELECT <字段名> FROM <表1> UNION ALL SELECT <字段名> FROM <表2>;

把多个 SELECT 语句的结果组合到一个结果集合中,不去重。

 

没有评论:

发表评论

热门博文