mysql数据库常用命令
一、对数据库的常用命令
- 链接数据库
mysql -u 用户名 -p 密码 - 显示已有数据库
show databases; - 创建数据库
create database 数据库名; - 选择数据库
use database 数据库名; - 显示数据库表
show tables; - 显示当前数据库的版本信息以及连接用户名
select version(),user(); - 删除数据库
drop database 数据库;
二、数据库对表的命令
- 创建表
create table 表名(字段1 数据类型 字段属性
…
字段n); - 字段约束和属性
- 非空约束 noll null, 字段不能为空
- 默认约束default,默认值
- 唯一约束unique key,设置字段的值是唯一的,可以为空,只有一个空值
- 主键约束primary key,作为表记录的唯一标识
- 外键约束foreign key ,用于两表之间建立关系,需要制定引用表的哪一个字段
引擎中InnoDB支持外键,MyISAM不支持外键。
作为外键的字段要求主表中的外键是单字段主键
添加外键约束:
CONSTRAINT FK_外键名 foreign key 本表字段 REFERENCES 链接表(主字段) - 设置自增auto_increment=n从n开始
- 设置自增步长set @@auto_increment_increment=m,步长为m
- 插入数据
- 插入单行数据:
insert into 表名(字段名, …) values (值,); - 插入多行数据:
insert into 表名(字段名, …) values (值,),…values (值,); - 将查询结果插入到新表中:
create table 表名 (select 字段1,…,from 原表); - 更新数据
update 表名 set 字段名=更新值 where 条件; - 删除数据
delete from 表名 where 删除条件;
truncate table 表名 where 删除条件;删除说有数据,保留表结构
- 插入单行数据:
- 查询数据
- 用select 查询
select * from 表名 where 条件 order by 排序的列名 asc/desc; - Group by 组名 HAVing
按照指定字段来分组 - limit
显示指定位置指定行数的记录
- 用select 查询
- 多表连接查询
-
内连接
select * from 表名 inner join 连接表名 on 表名字段=连接表名字段; -
外连接
select * from 表名 left join 连接表名 on 表名字段=连接表名字段;
select * from 表名 right join 连接表名 on 表名字段=连接表名字段;
-