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 <表名> 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 语句的结果组合到一个结果集合中,不去重。
没有评论:
发表评论