MYSQL
开发岗——(必须要熟悉,常用)
数据库专项测试——(查询创建)
数据库:EX文件(取名字) 1.先有数据库(不可以有相同的)(唯一的)
表结构:编号 标题 步骤 结果 2.表结构(可以不唯一也可以唯一)
表的:查询,修改,删除
表中的结果:查询,修改,删除
表数据: 1 1.dcs 1、2、3、 OK
2 1.txy 1、2、3、 NO
1、打开虚拟机,查询一下ip地址,然后打开xshell连接
2、yum install mysql 安装客户端
3、yum install mysql-server 安装服务器
4、rpm -aq|grep -i mysql 查询是否安装成功
5、service mysqld restart 重启数据库
6、mysqladmin -uroot password '123456' 设置好密码
7、mysql -uroot -p 回车:输入密码123456
8、mysql -uroot -p123456 回车直接带密码进入
-u :user账号
-p :password密码
什么是关系型的数据库?
根据关系模型创建的数据库,把数据保存再不同的表中,表与表存在着某些关系
什么是非关细型数据库?
非关系型数据库也叫nosql数据库,全程 not only sql ,通常数据以对象的形式存储再数据库中,不固定结构,比如:列模型、键值对模型
关系型数据库的特点?
安全
保存数据一致性
实现对表与表进行复杂的数据查询
非关系型数据库的特点?
效率高
容易扩展
使用更加灵活
关系型数据库有哪些?
db2
Oracle
MySQL
sql server
非关系型数据库有哪些?
hbase(列模型)
redis(键值对模型)
MongoDB(文档类模型)
Mysql特点 (记住)
1.体积小,安装简单,维护成本低
2.开源,免费
3.使用C++编写
4.支持多系统
service mysqld status 查看当前数据库服务状态
service mysqld start 开启数据库服务
service mysqld restart 重启数据库服务
退出MySQL交互界面
使用快捷键:ctrl+Z
或输入指令:exit、quit
数据库也叫datetabase
指令:show databases;展示当前数据库中的所有数据库,结束需要加个封号收尾
界面展示如下:+---------------------------+
| Database |
+---------------------------+
| information_schema | 系统库:系统日志等信息
| mysql | 系统库:不要随便去删除动它
| test | 系统库:测试库
+---------------------------+
创建数据库
create datebase dcs68(数据库命名)
create database if not exists dcs68; 如果没有则创建,没有有则不创建也不抛异常
删除数据库
drop database +数据库名字
drop database if exists dcs68; 如果存在则删除,不存在则不删除
进入到指定的数据库
use 数据库名字
查询展示数据库中的表
show tables
创建一个表结构
create table 表名字(字段1名称 数据类型约束,字段2名称 数据类型约束,。。。)
例如:(sheeet1是给创建的表取的名字)
create table sheet1 (id int(2)) 无任何约束
create table sheet1 (id int(2)primary key) 有主键约束
create table Sheet1(id int(3)not null) 有不能为空约束
create table Sheet1(id int(3)auto_increment) 自增长自动补齐序列约束
primary key 主键约束 说明:非空,唯一,用于唯一标识对应的记录。类似身份证。
foreign key 外键约束 说明:用于表与表建立关系模型,使表与表紧密的结合起来。
not null 非空约束 说明:字段值不能为Null
default 默认值约束 说明:默认给字段指定默认值
auto_increment 自增约束 说明:作用在整数类型,字段默认从1开始自增
数据类型
int 整数型
bigint 比较大的整数型
float 浮点型(带小数点的)默认保存6位数精度,例如:Float(20.2)至小数点后面2位
char 字符 ( char(10)占用了10个字符 )
varchar 字符(varchar(10)存储字符 最大存储10个字符)
date 建表的时候在日期的后面接 date并且加引号
表名称:dcs
序列号,姓名,年纪,性别,班级
create table dcs(id int(4),name char(8),age int(3),sex char(2),class int(4));
查看表结构:desc dcs;查看表结构
表结构的增删改查:
查询:desc +表名称;(查询表结构)
创建:create table(创建表结构)
改表名称:alter table dcs rename xiaoqian;(把表dcs名称改为xiaoqian)
改表字段名称:alter table dcs change id s_id int(4);(把dcs表中的id字段名称改为s_id名称)(数据类型和约束也可修改)
增加字段:alter table dcs add class int(4);(给dcs增加一个表字段class默认放在末尾)
增加字段放在最前面:alter table xiaoqian add id int(4)first;
增加字段放在某个字段的后面:alter table xiaoqian add sex char(2)after age;
同时增加多个字段
alter table 表名字 add (字段1,字段2)
例如:alter table sheet1 add (id int(3),name char(8));
删除指定的单个字段或者多个字段
alter table 表名字 drop 字段名称; (单个)
alter table 表名字 drop 字段名字,drop 字段名字 ,drop 字段名字 (多个)
删除表
drop table 表名字
表结构操作语言:DDL
create创建 alter增加修改 drop删除 desc查询
对于已经有主键和自增长的约束的字段,删除其主键必须先删除自增长约束。
alter table sheet1 change id id int(2);修改掉自增长约束变成为空
alter table sheet1 drop primary key 删除这个表中的主键,主键在表中是唯一的,所以不用加字段
表数据
表数据操作语言:DML
增删改查:insert into delete from update set select*from
where条件表达式
表中增加数据:
insert into sheet1(id,name,age,class)values(1,‘zhangsan’,16,1113)增加一整行
insert into sheet1 values(1,‘zhangsan’,16,1113),(1,‘zhangsan’,16,1113)增加多行
insert into sheet1(id,name,age) values (1,‘zhangsan’,16)只增加输入的项目(class不增加数据)
删除表的数据
delete from 表名字 删除表中的所有数据,对表结构无影响
delete from 表名字 where id=2 删除表中 id是2的那一整行,如果有多行id等于2,那都会删除掉
truncate 表名字 功能和delete from一样 删除表中所有数据。
修改表数据
update 表名字 set 要修改的表结构='某数据' where id=X;(X为要修改的表结构的数据的那一行)
update 表名字 set 要修改的表结构='某数据';不加条件将表结构所在列的数据全部改成 某数据。
例如:
update sheet set name=‘zhangsan’ where id=3 将第三行的name 改成zhangshan
update sheet set name=‘zhangsan’ 将所有行的name 改成zhangshan
查询表数据
查询所有表中所有表数据
select * from 表名字;
通过条件查询某数据 'and' 'or' '=' '<' '>' '<=' '>=' '!= ' 'in'
select *from 表名字 where 条件
通过多条件查询数据 'and' 'or' '=' '<' '>' '<=' '>=' '!= ' 'in'
select * from 表名字 where 条件 and 条件
select * from stu where name='qian' and age=20;查询满足姓名是qian年纪是20的数据
大于> : select * from stu where scroe>60; 大于60分所有信息
小于>: select * from stu where scroe<60; 小于60分所有信息
等于=: select * from stu where scroe=60; 等于60分所有信息
大于等于>=: select * from stu where scroe>=60; 大于等于60分所有信息
小于等于<=: select * from stu where scroe<=60; 小于等于60分所有信息
不等于!=: select * from stu where scroe !=60; 不包含60分的所有信息
in指定具体的值
select * from stu where scroe in(60,88,99);指定的值有就显示,没有就不显示
查询张三的信息,告诉张三的年纪的多少?
select * from stu where name='张三'; 显示名字叫张三这人的所有信息
select age from stu where name='张三'; 只显示张三做个人的年龄是多少
|
|