SQL语言操作mysql数据库
一、库操作:所有的数据库语句都必须以分号结尾,没分号默认是同个操作指令
- 创建数据库$ create database 数据库名称;
- 后面的数据库名称必须使用
`包裹起来,不能使用引号
demo`
- 后面的数据库名称必须使用
- 容错创建数据库:$ create database if not exists
demo
;
- if not exists会判断是否存在该名称的数据库,不存则创建存在则发出警告,如果没有加上
此判断,数据库已经存在的时候会报错;
- if not exists会判断是否存在该名称的数据库,不存则创建存在则发出警告,如果没有加上
- 创建数据库同时设置基本选项信息:$ create database
demo
default charset=gbk; - 查看所有数据库:$ show databases;
- 条件查找数据库: $ show databases like 条件字符串;
- 条件字符串用引号包裹不能使用“包裹
- 条件字符串里面的百分号表示匹配任意多个字符包括空(零个字符)比如我们有一个demo为名称的数据库,‘%o%’可以匹配出来
- 条件字符串里面的表示匹配一个字符不能为空,比如‘___’四个下划线表示匹配数据库名称长度为4个字符的数据库
- 查看数据库创建时候的资料:$ show create database数据库名;
- 后面的数据库名称必须使用
`包裹起来,不能使用引号
demo`
- 后面的数据库名称必须使用
- 修改数据库选项:$ alter database
demo
charset=utf8; - 删除数据库:$ drop database
demo
; - 容错删除数据库:$ drop database if exists
demo
;
二、表操作:
- 创建表:$ create table 表名(name: type)
$ create table 表名称(
字段名: 存储类型,
)
比如: create table demo.base_info(
large int,
name varchar(30)
)
a.创建之前如果没有使用$ use ‘数据库名称’,进入某个数据库中再创建表,就必须在表名称前
面加上属于哪个数据库的前缀,
b.large是表基本字段的名称,int是表示这个字段的值类型是整型,varchar(30)则表示字段的值为字符类型长度最大为30个字符
- 查看某数据库所有表:$ show tables;
- 条件查找表:$ show tables like ‘%info’;
- 查看表创建信息:$ show create table
base_info
\G;
- 其中\G是表示分行显示;
- 查看表结构:$ desc base_info;
- show columns from base_info;(必须进入某个数据库或者指定为某个数据库的某张表)
- 修改表字段数据存储类型或者长度名称:$ alter table 表名 modify 字段名 数据格式
- $ alter table base_info modify base_name varchar(40);
- 修改表字段名称:$ alter table 表名 change 原字段名称 新字段名称 数据存储格式;
- $ alter table base_info change base_name basename varchar(40);
- 添加表字段在指定位置:$ alter table 表名 add 字段名称 数据存储格式;
- $ alter table base_info add add_info varchar(20) after 表中已存在的字段名称;
- 删除表字段:$ alter table base_info drop add_info ;
- 向表插入数据:$ insert into 表名 values(‘zhang’,2);
- 其中的values()括号中的数据分别按照字段名称进行填入所有字段值都必须设置,
- 查看表数据:$ select * from base_info;
- 复制表:
- 复制表结构:$ create table like base_info;
- 复制表结构和数据:$ create table base_copy2 select * from base_info;
- 修改表名:$ rename table 原表名 to 新表名;
- $ rename table base_info to base_rename;修改后原表消失
- 表信息互换值:$ rename table base_info to base_temp base_info to base_info1
base_rename to base_info1;
- 将base_info的数据和base_info1的数据交换;
- 删除表:$ drop table if exists base_info;