mysql之单表
一、建表语句
 1、show databases 查看所有的数据库
 
 2、create databaes 数据库名 创建数据库
 
 3、use 数据库名 指定使用数据库
 
 4、show tables ;
 
 5、创建表
 格式:create table 表名 (字段名1 数据类型1(字符长度),字段名2 数据类型2(字符长度));
 案例:create table aa(sid int(10),math int(10) );
 
 6、插入数据:
 方法一:插入全部的数据
 格式:insert into 表名 values (“值1”,“值2”)
 
 方法2:插入部分的数据
 insert into 表名(字段值1) values (“值1”)
 
 7、查看数据:查看所有内容
 格式:select * from 表名
 案例:select * from aa
 
8、desc 查看表结构的数据
 格式: desc 表名
 案例 :desc aa;
  1、查数据库 show databases
1、查数据库 show databases
 2、创建数据库 create database
 3、使用数据库 use
 4、查询所有的表:show tables
 5、建表 create table
 6、对表格插入数据 insert into
 7、查询表格中所有数据 select
 8、查看表结构 desc
===============================
 字符类型
 1、一个汉字占多少 长度和编码有关(gbk和utf -8这些都是字符集格式)
 utf -8 :一个汉字等于3个字节
 gbk:一个汉字等于2个字节
 2、常用类型
 (1)字符类型
 char 字节数 :4 定长字符串 0-255字节
 varchar 字节数 :8 变长字符串 0-65535字节
 
 (2)数值类型
 int 字节数:4 大整数值
 bigint 字节数:8 极大整数值
 float 字节数:4 浮点数值
 
 (3)时间类型:
 data 字节数:3 年月日
 time 字节数:3 时分秒
 year 字节数:1 年
 datatime :字节数8 年月日+时分秒
约束
 一、约束实际上就是表中的限制
 二、约束的种类
 1、主键约束(primary key ) 简称: pri 保证字段的唯一性,一个表中只有一个主键,主键的内容不能为空;
 2、唯一约束(unique) 简称: uni 保证字符具有唯一性,一个表中可以有多个,唯一约束的内容可以为空
 3、默认值(default )
 4、非空约束(null)
 5、auto_incrment 自增长 ,一般和主键一起使用
 6、保证中文显示:在建表的语句后加上:deafault charset=utf8
 格式:
 create table 表名 (字段1 数值类型1(字符长度1) 主键约束 , 字段2 字符类型2(字符长度2) ,字段3 数值类型(字符长度) 唯一约束,
 字段4 数值类型(数值长度) 默认字段约束, 字段名5 年份类型 非空约束)default charset=utf8;
案例:
 create table ss(id int(20) primary key,name varchar(20) ,sfz bigint(50) unique,age int(10) default 18,n year not null)default charset=utf8;
 
 INSERT into ss VALUES(1,“陈鑫”,‘3456678’,20,‘2000’) ; 插入语句
删除表(删除表和表中数据)
 1、drop table 表名;
 案例:drop table aa;
2、删除表数据
 (1)格式:delete from 表名 删除表数据
 案例:delete from ss
 (2)格式:delete from 表名 where 条件 删除表中指定数据
 delete from ss where id =2;
 3、truncate 快速删除表中数据
 格式:TRUNCATE 表名 ;
 案例:TRUNCATE cc ;drop >truncate>delete
=============================
 表结构:
 (1)添加表字段 add
 格式:ALTER table 表名 add 新增字段名 新增字符类型(新增字符长度);
 案例:ALTER table cc add chinese int(10);

 (2)修改表字段 change
 格式:ALTER table 表名 change 旧字段 新字段 新字段类型(新字段长度);
 案例:ALTER table cc change age math int(10);
 
 (3)删除字段 drop
 格式:ALTER table 表名 drop 旧字段;
 案例:ALTER table cc drop math;
 
 (4)调换字段顺序
 a、调换到第一位 :first
 格式:ALTER table 表名 add 新增字段名 新增字符类型(新增字段长度) FIRST;
 案例:ALTER table cc add math int(10) FIRST;
 
 b、modify after (在什么的后面)
 (1)新增字段移动到已存在字段的后面
 格式:ALTER table 表名 MODIFY 新的字段名 新增字符类型(新增字段长度) AFTER 旧字段 ;
 案例 :ALTER table cc MODIFY chinese int(10) AFTER id ;
 
 (2)已存在的字段移动到已存在字段的后面
格式:ALTER table 表名 MODIFY 旧字段名1 字符类型1(字段长度1) AFTER 旧字段2 ;
 案例 :ALTER table cc MODIFY chinese int(10) AFTER sfz ;
 
 
查询语句:
 select 语句
 1、查询一个表中所有的数据 (* 表示所有)
 格式:select * from表名;
 案例:select * from kk;
 
 (2)查询一个表中一个字段或部分字段的数据
 格式:select 字段名1,字段名2 from 表名;
 案例:select fs,id from kk;
 
 (3) 查询字段通过as 取别名
 格式:select 字段名1 as “别名”,字段名2 as “别名2” from 表名;
 案例:select fs as “分数”,id as " 编号" from kk;









![[GWCTF 2019]我有一个数据库](https://img-blog.csdnimg.cn/218f913edfa54109b392bede748803b3.png)












