mysql数据库基本操作
接下来进行数据库的基本操作:
打开cmd
1.登录数据库:mysql -u root(或你的数据库名字) -p
2.输入密码后回车(输入密码时cmd不会显示的,直接输入回车即可)
3.查看mysql的所有数据库(自带的以及我们自己创建的): show databases; (一定要在结尾加;)
这4个数据库是mysql自带的,最好不要动,可能会导致数据库不能用。
4.创建数据库: create database 数据库名称;
5.删除数据库:create database 数据库名称;
6.进入某一数据库: use 数据库名称;
7.根据6,查看数据库中的数据表: show tables;
8.以上步骤都是基于cmd执行的,不够直观,若想更直观,请下载安装Navicat
9.查询指定列的数据:SELECT 列名1,列名2 FROM 表名;
10.添加一列到指定表中:ALTER TABLE 表名 ADD 列名 VARCHAR(字节数);
例如添加一列性别到students表中:ALTER TABLE students ADD gender VARCHAR(2);
11. 条件查询where,例如:查询age=24并且性别是女的所有学生信息:SELECT * FROM students WHERE age=24 AND gender='女';
12. 查询学生表中 id=1 或name=lucy的所有学生信息:SELECT * FROM students WHERE id=1 OR name=’lucy‘;
13.查询学号为1,2,3的学生信息:SELECT * FROM students WHERE id=1 OR id=2 OR id=3;
或者用in: SELECT * FROM students WHERE id IN (1,2,3);
14.查询性别为空的学生信息:SELECT * FROM students WHERE gender IS NULL;
15.查询性别不为空的记录 :SELECT * FROM students WHERE gender IS NOT NULL;
16.查询性别非男的记录:SELECT * FROM students WHERE gender != '男';
17.查询年龄在18-20之间的记录:SELECT * FROM students WHERE age>=18 AND age<=20;
或者用 between:SELECT * FROM students WHERE age BETWEEN 18 AND 20;
模糊查询 like
18
去重关键字 distinct : 将查询结果的重复数据去掉,用法 distinct+字段
例如:select distinct name from students; 查询学生表中的名字,去掉重复的名字
where后面跟的关键字
in 代表在这个取值中,只要包含一个,则符合条件
例如:select name from students where age in (18,19,20) ; 查询学生年龄等于18,19或者20的人的名字 ,相当于 age=18 or age=19 or age=20
not in 与in相反,表示不在这个集合中
between ... and ,在这个区间,相当于>= and <=
例:select name from students where age between 18 and 20 ;查询学生年龄大于等于18并且小于等于20的人
is null 判断一个关键字的值为空
is not null 判断一个关键字的值不为空
函数
数学函数
聚合函数
AVG() 返回指定列的平均值
COUNT() 返回指定列中非Null值得个数
MIN() 返回指定列得最小值
MAX() 返回指定列得最大值
SUM() 返回指定列得所有值得和
字符串函数
数据完整性:
什么是数据完整性?
保证用户输入的数据保存到数据库中是正确的
如何添加数据完整性?
在创建表时给表中添加约束。
完整性分类:实体完整性,域完整性,引用完整性
实体完整性:
表中的一行(一条记录)就代表一个实体,实体完整性就是一行数据的完整性
实体完整性的作用:标识每一行数据不重复,行约束,不能重复添加
约束类型:主键约束、唯一约束、自动增长列
主键:创建表时,可以将某一行字段设置成主键,主键必须数据唯一,且不为null,每一个表中要有一个主键
创建:1、CREATE TABLE 表名(字段1 数据类型 primary key, 字段2 数据类型);
2、CREATE TABLE 表名(字段1 数据类型, 字段2 数据类型, primary key(要设置的主键字段));
3、CREATE TABLE 表名(字段1 数据类型, 字段2 数据类型, primary key(主键1,主键2)) ; 可以添加联合主键
联合主键:用俩个字段同时来约束,俩个字段数据同时相同时,才违反联合主键约束
4、先创建表,再修改表,添加主键 ALTER TABLE 表名 ADD CONSTRAINT PRIMARY KEY(要设置的主键字段);
唯一约束:指定列的数据不能重复,可以为空
创建:在字段后面加上UNIQUE, CREATE TABLE 表名(字段1 数据类型, 字段2 数据类型 UNIQUE);
自动增长列: 指定列的数据自动增长,即使数据删除,还是从删除的数据继续往下,一般会将主键设置为自动增长列
创建:CREATE TABLE 表名(字段1 数据类型 primary key auto_increment, 字段2 数据类型);
域完整性:域代表当前单元格,争对一个单元格的数据,限制此单元格的数据正确,不对照此列的其他单元格比较
约束类型:数据类型、非空约束(not null)、默认值约束(default)
数据类型:数值类型、日期类型、字符串类型
非空约束:CREATE TABLE 表名(字段1 数据类型 PRIMARY KEY AUTO_INCREMENT, 字段2 数据类型 UNIQUE not null);
默认值约束:CREATE TABLE 表名(字段1 数据类型 PRIMARY KEY AUTO_INCREMENT, 字段2 数据类型 DEFAULT "默认值");
参照完整性
什么时参照完整性?
是指表与表之间的一种对应关系,通常情况下,可以通过设置俩表之间的主键,外键关系,或者编写俩表的触发器来实现,有对应参照完整性的俩张表格,在对他们进行数据插入、更新、删除的过程中,系统都会将被修改表格与另一表格进行对照,从而阻止一些不正确的数据操作。
特点:1、数据库得主键和外键类型必须一致;
2、俩个表必须得要是InnoDB类型
3、设置参照完整性后,外间当中的内值,必须得是主键当中的内容
一个表设置当中的字段设置为主键,设置主键为主表: