db_command
*
/ % binary greatest() least() ASCII() replace() week() yearweek() date_add() date_format()
mysql版本:select version();
当前登录用户:select user();
当前日期'年-月-日 时-分-秒':select now();
'年-月-日': select curdate();
'时-分-秒': select curtime();
system clear;
sql不区分大小写!
create insert ; drop delete ; alter update ; show select
# 数据库
创建:create database [if not exists] database_name default charset utf8 collate utf8_general_ci;
删除库:drop database database_name;
修改: alter database database_name charset latin1;
查看:show databases;
查看指定数据库的创建信息:show create database database_name;
返回当前使用的数据库的名称'可以设置列别名': select database() [as 'column_name'];
连接:mysql -uroot -p
退出:exit
使用:use database_name;
# 数据表
创建:
create table [if not exists] table_name (
列名 类型 约束,
[列名 类型 约束]
)default charset=utf8mb4;
删除表:drop table [if exists] table_name;
修改:alter table table_name add|modify|change|rename to|drop;
添加字段:alter table 表名 add 列名 类型 约束 [after|frist table_field];
删除字段:alter table 表名 drop column 列名;
修改字段类型:alter table table_name modify column 列名 类型;
修改字段类型 + 名称: alter table 表名 change 原列名 新列名 新类型;
默认值:
修改字段默认值 alter table 表名 alter 列名 set default 1000;
删除字段默认值 alter table 表名 alter 列名 drop default ;
表名:
alter table 旧表名 rename 新表名;
rename table 旧表名 to 新表名;
修改存储引擎:
alter table table_name engine=innodb;
查看:
哪些表: show tables;
表结构:desc table_name [字段名]; -- 可以只看其中某一字段的结构
创建表结构的sql语句: show create table table_name[\G]; -- 表名加\G查看表详细信息
复制表:
create table t6 select * from t5;
-- 表结构和数据
create table t6 select * from t5 where 1<0;
-- 表结构 空表
克隆表:like|as
# 表记录
增加:insert into table_name values|set ... 共有四种方式(全列|指定列|多行批量|使用set子句)
多行批量: 若不指定列则所有列的字段值都要一一对应赋值.
insert into table_name[(字段名,字段名...)] values (字段值,字段值...),(字段值,字段值...);
使用set子句: 可以不按照列顺序插入数据,对允许空值的列可以不插入.
insert into table_name set 第2列字段值='',第4列字段值='';
插入查询结果: 创建一个B表,将A表中的所有数据插入到B表中
insert into B select * from A;
删除记录:delete from table_name where 条件;
修改:update table_name set 字段1=值1[,字段2=值2,...] [where条件];
replace into table_name values (字段值,字段值,字段值...);
<举栗>
update tb1 set age=age+1 where id=2;
-- 整型 age在原有基础上加1
update L3 set name=concat(name,"123") where id=2;
-- concat一个函数,可以拼接字符串
查看:!!!!
清空表:
delete from table_name;
一条一条的删除记录 若有自增id,新增的数据id以删除前的最后一个id值的下一个作为起始值.
truncate table_name;
直接清空表 适用于数据量大,速度快,无法回滚,且新id从零开始.
ps: 若在windows系统中,插入中文字符,select的结果为空白,可以将所有字符编码统一设置成gbk!