MySQL知识篇-SQL2
1 数据库基本操作?
(1) 查看数据库
show databases;
(2)切换到指定的数据库
use dbname;
(3)创建数据库
create database 库名 charset=utf8;
(4)删除数据库
drop database 库名;
2 数据表基本操作?
(1) 查看当前库下所有表
show tables;
*模糊查询
show tables like 'pattern';
(2)查看表结构
desc 表名;
(3)创建表
方式一:create table [if not exists] 数据库名.表名( -- 显示指定数据库名
字段名字 数据类型,
字段名字 数据类型
)[表选项];
if not exists : 如果表不存在才创建。
表选项:字符集、校对集、存储引擎
方式二:use 数据库名;
create table [if not exists] 表名( -- 先进入数据库,后面的所有操作都作用于这一个数据库中
字段名字 数据类型,
字段名字 数据类型
)[表选项];
ex:
create tbname(
id int unsingned primary key auto_increment not null,
name varchar(20) default '',
age int unsingned default 0,
height decimal(3,2) default 1.8,
gender enum('男','女') default 男,
);
说明:unsigned属性就是将数字类型无符号化
enum是枚举类型,它虽然只能保存一个值,却能够处理多达65535个预定义的值。(慎用 https://www.sohu.com/a/226090587_820120)
(4) 添加字段
alter table 表名 add 字段名称 类型;
ex:
alter table table1 add transactor varchar(10) not null;
ex:增加主键子段
alter table table1 add id int unsigned not null auto_increment primary key
* 查看字段信息
show columns from/describe/desc 表名;
注:结尾处的分号可用\g或\g代替,用\g与分号效果相同,用\g时行变列,列变行,在某些时候可以提高阅读性;
(5)修改某个表的字段类型及指定为空或非空
alter table 表名 change 字段名称 字段类型 [是否允许非空];
alter table 表名 modify 字段名称 字段类型 [是否允许非空];
(6)修改某个表的字段名称及指定为空或非空
alter table 表名称 change 字段原名称 字段新名称 字段类型 [是否允许非空];
alter table 旧表名 rename to 新表名;
(7)如果要删除某一字段
alter table 表名 drop 字段名;
(8)删除表
drop table 表名;
(9)查看表的创建语句
show create table 表名;
3 数据 增 删 改?
(1) 增加数据
*单条全部列插入的方式
insert into 表名 value();
*单条部分列插入的方式
insert into 表名(列1,...) value();
*多条数据部分列插入的方式
insert into 表名(列1,....) value(),...;
(2)删除某条数据
delete from 表名 where 条件;
(3)改某条数据
update 表名 set 列1=值,列2=值,... where 条件;