Mysql基本操作

1.mysql是一个开放源代码的数据库管理系统(DBMS)。
  主键:唯一标识,不能有两行相同的列值,不能为空。
2.数据库的基本操作
  数据库引擎:InnoDB
  使用命令操作数据库:
  登入数据库:mysql -h localhost -u root -p
  查看所有数据库:show databases;
  创建数据库:create databases database_name;
  删除数据库:drop databases database_name;
  使用数据库:use database_name;
3.数据表的基本操作
创建表:
  create table user
  (
  id int(11),
  name varchar(25),
  deptid int(11),
  salary float
  );
使用主键约束:
定义列的同时定义主键
  create table user
  (
  id int(11) primary key,
  name varchar(25),
  deptid int(11),
  salary float
  );
定义完所有列后定义主键
  create table user
  (
  id int(11),
  name varchar(25),
  deptid int(11),
  salary float,
  primary key(id)
  );
多字段联合
  primary key(id, name, salary)
使用非空约束:
  create table user
  (
  id int(11) primary key,
  name varchar(25) not null,
  deptid int(11),
  salary float
  );
使用唯一约束:
定义列的同时定义
  create table user
  (
  id int(11) primary key,
  name varchar(25) unique,
  deptid int(11),
  salary float
  );
定义完所有列后定义
  create table user
  (
  id int(11) primary key,
  name varchar(25),
  deptid int(11),
  salary float,
  constraint sth unique(name)
  );
使用默认约束:
  create table user
  (
  id int(11) primary key,
  name varchar(25) not null,
  deptid int(11) default 1111,
  salary float
  );
设置表的属性值自动增加:
  create table user
  (
  id int(11) primary key auto_increment,
  name varchar(25) not null,
  deptid int(11) default 1111,
  salary float
  );
4.修改数据表
修改表名:
  alter table 旧表名 to 新表名
修改字段数据类型:
  alter table 表名 modify name varchar(30);
修改字段名:
  alter table 表名 change 旧字段名 新字段名 数据类型
添加字段:
在表的第一列添加字段
  alter table 表名 add column2 int(11) first;
在表的指定列之后添加一个字段
  alter table 表名 add column2 int(11) after name;
删除字段:
  alter table 表名 drop 字段名
修改表的字段排列位置:
修改总段为表的第一个字段
  alter table 表名 modify column1 varchar(12) first;
修改字段到表的指定列之后
  alter table 表名 modify column1 varchar(12) after location;
更改表的存储引擎:
  alter table 表名 engine=myisam
删除表的外键约束:
  alter table 表名 drop foreign key 外键约束名
删除数据表:
删除无关联的数据表
  drop table 表名;
删除有关联的表
  删除父表,接触外键约束,删除本表
5.数据类型
整型:
  tinyint 很小的整数
  smallint 小的整数
  mediumint 中等大小的整数
  int 普通大小的整数
  bigint 大整数
浮点数:
  float 单精度
  double 双精度
  decimal,dec 严格定点数
日期与时间类型:
  year YYYY
  time HH:MM:SS
  date YYYY-MM-DD
  datatime YYYY-MM-DD HH:MM:SS
  timestamp YYYY-MM-DD HH:MM:SS
文本字符串类型:
  char 固定长度非二进制字符串
  varchar 变长非二进制字符串
  tinytext 非常小的非二进制字符串
  text 小的非二进制字符串
  mediumtext 中等大的小的非二进制字符串
  longtext 大的小的非二进制字符串
  enum 枚举类型
  set 一个设置
二进制字符串类型:
  bit 位字段类型
  binary 固定长度二进制字符串
  varbinary 可变长度二进制字符串
  blog

6.查询数据

聚合函数查询:

1.count()函数

  select count(*) As cust_num from user  返回user表中总行数,名称为cust_num

2.sum()函数

  select sum(price) As cust_num from user where o_num = 3005 订单号为3005的总和

3.avg()函数

  select avg(price) As cust_num from user where o_num = 3005  订单号为3005均价

4.max()函数

  select max(price) As cust_num from user 查询某列最大值

5.min()函数

  select min(price) As cust_num from user 查询某列最小值

7.连接查询

1.内连接查询

  select fieldlist from table1 inner join table2 on table1.column=table2.column 普通连接

2.外连接

左连接:

  select courses.cno, max(coursename), count(sno) from courses LEFT JOIN grades ON courses.cno=grades.cno group by courses.cno 

左连接特点:显示全部左边表中的所有项目,即使其中有些项中的数据未填写完全。

左外连接返回那些存在于左表而右表中却没有的行,再加上内连接的行。

右连接:right join 显示全部右边表中的所有项目

3.复合条件连接查询:就是在连接查询的过程中,通过添加过滤条件来限制查询结果,使查询结果更加精确。

原文地址:https://www.cnblogs.com/heqiyoujing/p/9580458.html