常见命令
1. 创建数据库
create database 数据库名;
2. 删除数据库
drop database 数据库名;
3. 显示所有数据库
show databases;
4. 使用某个数据库
use 数据库名;
5. 创建某个表
createtable 表名(
字段名称 字段类型 默认值 约束,
字段名称 字段类型 默认值 约束,
字段名称 字段类型 默认值 约束
);
<完整性约束条件表>
primarykey 主键:若某个字段在设计时不想被重复,则设置成主键
foreignkey 外键:标识该属性为该表的外键,是与之练习的某表的主键
notnull 标识该属性不可为空
unique 标识该属性的值是唯一的
auto_increment标识该属性的值自动增加,这是MySQL的sql语句的特色
default 为该属性设置默认值
例如:
create table person_info(
id int(15) auto_increment primary key,
name varchar(30) not null,
password varchar(30) not null,
age int(3)
);
6. 删除某个表
drop table 表名;
例如:drop table person_info;
7. 查看表的详细信息
desc表名
例如:desc person_info;
8. 创建一个表(常用类型int、varchar、date)
createtable user(
id int auto_increment primary key,
name varchar(10) not null,
password varchar(15) not null,
ageint not null,
sex varchar(2) default '男',
birthday date
);
9. 添加数据
Insert into 表名(字段1,字段2,字段3)values(值1,值2,值3);
Sql的几种分类
1. 数据库操作语言(ddml) 用于检索或修改数据库
2. 数据库定义语言(ddl) 定义数据的结构 创建、修改、删除数据库
3. 数据控制语言(dcl) 定义数据库用户的权限
注:Int类型最大长度是11
创建表后的更改
1. 添加一个字段
alter table 表名 add 列名 列数据类型 [after 插入位置];
2. 修改一格字段
alter table 表名 change 列名称 列新名称 新数据类型;
3. 删除列
alter table 表名 drop 列名称;
4. 重命名表
alter table 表名 rename 新表名;
创建表后的查询
select 字段名 from 表名 条件[where]
group by:通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。
sum():求和
order by:列名 +asc(升序)/+desc(降序)
having:分组之后的条件刷选。。。。where 在分组之前。having一般用于group by一起使用
复制表结构 create table 表名 like 已知表 ;
复制一张表结构和数据 create table 表名(select * from 已知表);
#创建一个表
create table person(
person_id int(20) not null auto_increment primary key ,
person_name varchar(20) not null ,
age int(5) not null ,
sex varchar(5) not null ,
address varchar(25) not null
);
#查看表结构
desc person ;
#添加一条数据
insert into person values (7,'李白',19,'男','王者峡谷') ;
#删除一条指定数据
delete from person where person_id = 7 ;
#更新一条指定数据
update person set person_name = '东皇太一' where person_id = 7 ;
#查询全部数据
select * from person ;
#指定条件查询
select * from person where person_id = 5 ;
#模糊条件查询
select * from person where person_name like '%白%' ;
#限定条件查询
select * from person where person_id limit 3,3 ;
#升序或降序排列,asc(升序)/+desc(降序)默认为升序排列
select * from person order by person_id desc ;
#按照性别分组,并统计人数
select sex , count(*) '人数' from person group by sex ;
#以指定条件分组之后,按照条件筛选
select sex , count(*) '人数' from person group by sex having sex = '女' ;
#求和
select sum(age) '和' from person ;
#添加指定字段
alter table person add phone_number int(7) ;
#修改一个指定字段
alter table person change phone_number phone_num int (7) ;
#删除一个指定字段
alter table person drop phone_num ;
#重命名表名或数据库名
alter table persons rename person ;