mysql 学习命令整理一

新建数据库
create database dbname;  新建数据库
create database if not exists dbname; 如果不存在新建数据库
create database dbname character set utf8; 新建数据库指定编码格式utf8

show databases;             显示所有的数据库列表
show create database dbname; 显示数据库的格式

修改数据库:
alter database dbname character set utf8; 修改数据库字符集

删除数据库:
drop database dbname;  删除数据库
drop database if exists dbname;  如果数据库存在,删除数据库

切换数据库:
use dbname;

创建数据表:
create table tabname (
num char(8) not null,
name varchar(20) not null,
gender char(2) not null,
age int not null,
tel char(11) not null unique,
qq varchar(11)
);
not null 必须有值
unique   同列的值不能相同

show tables; 查询表链表
desc tabname; 查看表结构

drop table tabname; 删除数据表
drop table if exists tabname; 如果数据表存在,删除数据表

修改数据表:
alter table tabname rename to newtabname; 修改表名

alter table tabname character set utf8; 修改表的字符集

alter table tabname add stu_remark varchar(200); 添加新列 stu_remark 类型varchar(200)

alter table tabname change qq weixin int;   修改字段的列表和类型 把qq 改为weixin 类型为 int

alter table tabname modify qq varchar(200); 修改字段的类型 修改qq的varchar(11)->varchar(200)

alter table tabname drop qq; 删除qq列


数据类型:数据表中列支持的数据类型 
 数值类型:  字节       范围     无符号范围
 tinyint     1byte     -128~127     0~255    
 smallint    2byte     -32768~32767 0~65535   
 mediumint   3byte     -8388608 ~ 8388607   0 ~ 16777215  
 int/integer 4byte    -2147483648 ~ 2147483647  0 ~ 4294967296
 bigint      8byte     -9223372036854775808 ~ 9223372036854775807   0 ~ 18446744073709551615 
 float       4byte
 double      8byte
 decimal      decimal(10,2) 表示数值一共有10位,小数位2位
 
 字符串类型:
  数值类型:  字节           说明
  char        0-255        char(n)    定长字符串长度为n,不满补0
  varchar     0-65535      varchar    可变字符串长度
  tinyblob    0-255        存储二进制字符串
  blob        0-65535      存储二进制字符串
  mediumblob  0-1677215    存储二进制字符串
  longblob    0-4294967295 存储二进制字符串
  tinytext    0-255        文本数据
  text        0-65535      文本数据
  mediumtext  0-1677215    文本数据
  longtext    0-4294967295 文本数据
  
 日期类型:
  数值类型:   格式             说明
   date      2022-04-10         年月日
   time      11:11:11           时分秒
   year      2022               年
   datetime  2022-04-10 11:11:11年月日时分秒
   timestamp 20220410111111     日期加时间(时间戳)
   
   
字段约束:
非空约束(not null):值不能为null
唯一约束(unique):此列的值不能重复
主键约束(primary key):非空+唯一
外键约束(foreign):建立不同表之间的关系

create table tabname (
num char(8) not null primary key ,
name varchar(20) not null,
gender char(2) not null,
age int not null auto_increment,
tel char(11) not null unique,
qq varchar(11)
);
添加主键操作 设置num为主键
alter table tabname modify num char(8) primary key;
删除主键约束:
alter table tabname drop primary key;

自动增长:(不保证连续性)
auto_increment;

联合主键:primary key (num,course_id)
create table tabname (
num char(8) ,
course_id int,
score int,
primary key (num,course_id)
);


插入指定列数据:
insert into tabname(columnName,columnName……) values(value1,value2……)

所有列插入数据时:(不建议使用省略,增强代码的可读性)
insert into tabname values(value1,value2……)

删除数据:
delete from tabname; 删除表内所以数据

delete from tabname where columnName=value; 删除列columnName的值是value的行

delete from tabname where columnName>value; 删除列columnName的值大于value的行

修改数据:
update tabname set columnName=newValue; 修改所有columnName列所有的值为newValue
update tabname set columnName=newValue where columnName=oldValue; 修改columnName=oldValue的值为newValue
update tabname set columnName1=newValue1,columnName2=newValue2 where columnName=oldValue; 修改多列的值

查询数据:
select * from tabname;  查询所有数据

select columnName1,columnName2…… from tabname; 查询指定列所有值

select *  from tabname where columnName=value;  查询指定列值等于value的行的值
select * from tabname where columnName!=value;  查询指定列值不等于value的行的值
select * from tabname where columnName>value;  查询指定列值大于value的行的值
select * from tabname where columnName<value;  查询指定列值小于value的行的值

select * from tabname where columnName<value or columnName2<value2; 多个条件满足一个
select * from tabname where columnName<value and columnName2<value2; 多个条件都需要满足
select * from tabname where columnName not between value1 and value2; 不是value1 and value2

select * from tabname where columnName like ‘reg’;
  reg:%o% 字母中包含O的值       %表示任意多个字符
       _o% 第二个字母中包含O的值 _表示任意一个字符
  eg:select * from tabname where columnName like ‘%o%’;

select columnName1,columnName2…… from tabname; 查询的显示结果 columnName1 columnName2的值 

select columnName1 as NewcolumnName1,columnName2…… from tabname; 显示结果columnName1名改为NewcolumnName1

select distinct NewcolumnName1 from tabname; 显示结果删除重复的值

排序 order by:
 select * from tabname where columnName1<value order by columnName2 asc; 满足条件的结果按照升序排列
 select * from tabname where columnName1<value order by columnName2 desc;满足条件的结果按照降序排列

 select * from tabname where columnName1<value order by columnName2 desc,columnName3 desc;满足条件的结果按照columnName2降序排列并且按照columnName3降序排列

聚合函数:
count() 统计满足条件的指定列的值个数
   select count(columnName) from tabname; 统计满足条件的columnName列的值个数
max() 获取到查询记录中满足条件列的最大值
  select max(columnName) from tabname where columnName1<value; 统计满足条件的columnName列的最大值;
min() 获取到查询记录中满足条件列的最小值
 select min(columnName) from tabname where columnName1<value; 统计满足条件的columnName列的最小值;
sum() 获取到查询记录中满足条件列的最小值
 select sum(columnName) from tabname where columnName1<value; 统计满足条件的columnName列的值总和
avg()
 select avg(columnName) from tabname where columnName1<value; 统计满足条件的columnName列的平均值


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值