目录
一、数据库相关操作
连接数据库:
mysql -h服务器主机地址(本机可省略) -u用户名 -p密码(可省略,回车输密码);
创建数据库:
create database 数据库名;
查看数据库列表:
show databases;
选择数据库:
use 数据库名;
删除数据库:
drop database 数据库名;
二、表相关操作(DDL:数据定义语言)
创建表:
create table 表名(
字段1 数据类型 [字段属性|约束][索引][注释].
......,
字段n 数据类型 [字段属性|约束][索引][注释].
)[表类型][表字符集][注释];
补充:字段的约束
问题:报错 ERROR 1067 (42000): Invalid default value for 'sex'
问题原因: 编码格式问题,数据库设置的编码格式是utf8,命令行窗口格式为gbk,所以显示sex字段的默认值是无效的
解决办法:set names gbk; 将编码格式改为gbk
查看表:
show tables;
查看表定义:
desc 表名;
删除表:
drop 表名;
修改表名:
alter table 旧表名 rename [to] 新表名;
添加字段:
alter table 表名 add 字段名 数据类型 [属性];
修改字段:
alter table 表名 change 原字段名 新字段名 数据类型 [属性];
删除字段:
alter table 表名 drop 字段名;
添加主键:
alter table 表名 add constraint 主键名 primary key 表名(主键字段);
添加外键:
alter table 表名 add constraint 外键名 foreign key (外键字段) references 关联表名(关联字段);
三、数据相关操作(DML:数据操作语言)
插入数据:
插入单条数据:insert into 表名[(字段名列表)] values(值列表);
插入多条数据:insert into 新表(字段名列表) values(值列表1),(值列表2),......,(值列表n);
将查询结果插入新表:
create table 新表(select 字段1,字段2,...... from 原表);
数据更新:
update 表名 set 字段1=值1,字段2=值2,...,字段n=值n [where 条件];
数据删除:
delete from 表名 [where 条件];
truncate table 表名;
注意:truncate语句删除后将重置自增列,表结构及其字段、约束、索引保持不变,执行速度比delete语句块
数据查询:
select <列名|表达式|函数|常量> from <表名> where [<查询条件表达式>] [order by <排序的列名>[ASC或DESC]];
列别名:
聚合函数:
字符串函数:
时间日期函数:
数学函数:
Limit子句:
select <字段名列表> from <表名或视图> [where <查询条件>] [group by <分组的字段名>] [order by <排序的列名>[ASC或DESC]] [limit [位置偏移量,]行数];
子查询