Mysql的基本操作和注意点
Mysql数据库基本操作
Mysql第一阶段:
第一阶段对于新手来说,主要是熟悉mysql中的语句有什么作用,这段时间主要在文本框中敲打mysql语句,然后在MySQL的运行框中运行,以此来检查自己所写的语句是否正确。
Mysql中的一些语句使用方法:
#查看所有的数据库
show databases;
注:Sql语句不区分大小写 但是严重区分中英文符号,不允许使用中文符号
#创建数据库
create database test1227;
#使用数据库
use test1227;
注:使用数据库时,千万不要忘了这句,新手很容易忘记。
#创建表 需要创建主键 主键是唯一的,不能为空 int(10):10代表的是数字长度
#若不定义长度,默认长度为11 primary key为主键(唯一标识) auto_increment:设置自增
#varchar:为字符串 默认长度为255 unique:唯一约束 not null 不为空约束
create table student(
id int(10)primary key auto_increment,
name varchar(20) unique,
age int(5) default 16,
sex char(2) not null
);
#查看表设计
desc student;
注:创建表之后,可以通过查看表设计,来检查创建的表是否满足需求
增:
#不按照字段添加 那么就需要按照表设计的字段顺序添加
insert into student values(2,'李四',21,'男');
#按照字段添加 必须主键设置自增,否者必须给主键赋值
insert into student(name,age,sex) values('王五',25,'女');
insert into student(name,sex) values('赵六','男');
insert into student(name,age,sex) values('小凳子',27,'男');
#添加多条数据
insert into student(name,age,sex) values('小红',22,'女'),('小华',26,'男'),('小白',29,'男');
删:
#删除表
drop table student;
#删除数据库
drop database test1227;
#删除 drop 与delete 的区别:
#drop 是删除表,表不存在 delete 是删除表中的数据,表仍然存在
delete from student where id = 1;
delete from student where sex = '男';
delete from student where sex='女' and age = 22;
#删除表中的所有数据,表存在
delete from student;
注:where这里是判断的意思
改:
#修改 切记:修改 set后面使用逗号分隔 而不是用and 只有where 条件语句后使用and 代表 并且
update student set name='小名',age = 26,sex='女' where id = 2;
update studentset name='光头强' where name = '小红';
update student set age = 30 where name='王五' and sex = '女';
查:
查是数据库中的重点!
# * 代表的是所有字段 查看当前表中的所有数据
select * from student;
#只查询姓名和年龄 select 后为查询的字段 from 表
select name,age from student;
#查询年龄为26的学生信息
select id,name,age,sex from student where age = 26;
#查询年龄不是26的学生信息 != <>
select id,name,age,sex from student where age !=26;
select id,name,age,sex from student where age <>26;
select id,name,age,sex from student where age >=26;
#查询id 为偶数的学生信息
select id,name,age,sex from student where id %2=0;
#查询姓‘小’ 的学生名 %代表多个字符
select name from student where name like '小%';
# _为一个字符
select name from student where name like '小__';
insert into student(name,age,sex) values('白居易',29,'男');
insert into student(name,age,sex) values('王白石',26,'男');
#like 模糊查询
#代表开头有“白”
select name from student where name like '白%';
#代表结尾有“白”
select name from student where name like '%白';
#代表字符中间有“白”
select name from student where name like '%白%';
#查询年龄在26-29之间(包含26,29)的学生信息
select id,name,age,sex from student where age between26 and 29;
#查询id 包含 4,8,13,14的学生信息
select id,name,age,sex from student where id in (13,8,4,14);
#分页 第一个参数为索引 ,通过索引得到页数 第二个参数为每次显示的条数
select id,name,age,sex from student limit 4,2;
#将学生的年龄从小到大排序 order by 为排序本身就有从小到大的功能 asc小-大 desc:大-小
select id,name,age,sex from student order by age desc;
#聚合函数 count(统计总数) sum (求和) avg (平均值) max(最大值) min(最小值)
select count(*) from student;
select count(id) from student;
#字段和表都可以定义别名
select count(1) from student; 定义别名 英语不需要定义单引号 中文需要定义单引号
#统计男 女分别的人数
select count(id) as '总数',sex as se fromstudent group by sex;
select count(id) '总数',sex '性别' from student group by sex;
#统计男女人数大于3的人数 having为条件语句必须与group by联合使用 不能单独使用 where删查 改 只有有条件判断都可以使用
select count(id) '总数',sex '性别' from student group by sex having 总数 >3;
select count(id) co ,sex '性别' from student group by sex having co >3;
select sum(age) from student;
select avg(age) from student;
select max(age) from student;
select min(age) from student;
以上就是对数据的增删改查,这些操作都是对数据库中的数据操作,下面,我们来介绍对于表设计的修改
表设计修改:
#添加字段
alter table student add address varchar(50) not null;
#将name修改为username
alter table student change name username varchar(20);
#sex char(2) 改为varchar(2)
alter table student change sex sex varchar(2);
#将age 放到address 后面
alter table student modify age int(5) after address;
#删除address
alter table student drop address;
#将student表名修改为stu
alter table student rename stu;
接下来就来说下多表连接,多张表之间的联系
#表关系: 一对一 一对多 多对多
主键关联主键 等值连接
select t.name,s.username,s.age,s.sex from teachert,stu s where s.id = t.id;
#交叉连接
select t.name,s.username,s.age,s.sex from teachert cross join stu s on s.id = t.id;
#内连接:避免笛卡尔积,并且在数据量多的情况下 提高查询的效率
select t.name,s.username,s.age,s.sex from teachert inner join stu s on s.id = t.id
#以上三种连接 获取的都为表的交集
#外连接:左连接 右连接
#左连接 查询左边表的所有数据 右边只查询关联id 相同的数据
select t.name,s.username,s.age,s.sex from teachert left join stu s on s.id = t.id;
select t.name,s.username,s.age,s.sex from stu s rightjoin teacher t on s.id = t.id;
#一张表的外键是另外一张表的主键 外键可以创建多个 但是主键只能创建一个 主键的值为唯一 外键的值可以重复
#设置外键 必须先给主键的表创建了数据才能给外键表进行添加数据 ondelete cascade :级联删除
#设置了级联删除 既可以删除主表数据又可以删除外键表数据,一旦删除主表数据,外键关联的数据一并删除
alter tablestudent add constraint foreign key(tid) references teacher(id) on delete cascade;
#创建视图,视图为一张虚拟的表,创建视图的目的是为了提高查询的效率,当一张表中有很多字段时,而在查询过程中不需要那么多的字段,那么可以通过视图创建一张虚拟的表
#表数据与原表的数据完全一致
create view stu_view as select id,name from student;
Mysql的基本操作和注意点相关推荐
- 基于linux操作系统Mysql的基本操作(一)
基于linux操作系统Mysql的基本操作(一) 背景介绍:mysql软连接的建立,ln –s /usr/local/mysql/bin/mysql /usr/bin 1.本地登录,命令: #mys ...
- [JSP暑假实训] 三.MySQL数据库基本操作及Servlet网站连接显示数据库信息
本系列文章是作者暑假给学生进行实训分享的笔记,主要介绍MyEclipse环境下JSP网站开发,包括JAVA基础.网页布局.数据库基础.Servlet.前端后台数据库交互.DAO等知识. 前一篇文章讲解 ...
- mysql数据库基本操作总结与归纳
mysql数据库基本操作总结与归纳 登录命令 mysql -u 用户名 -p 密码 列如: [root@localhost ~]# mysql -u root -p [root@localhost ~ ...
- Linux如何指向mysql_linux的基本操作(mysql 的基本操作)
Mysql 的基本操作 在前面两个章节中已经介绍过MySQL的安装了,但是光会安装还不够,还需要会一些基本的相关操作.当然了,关于MySQL的内容也是非常多的,只不过对于linux系统管理员来讲,一些 ...
- php基础系列:从用户登录处理程序学习mysql扩展基本操作
用户注册和登录是网站开发最基本的功能模块之一,现在通过登录处理程序代码来学些下php对mysql的基本操作. 本身没有难点,主要是作为开发人员,应该能做到手写这些基本代码,算是自己加强记忆,同时希望能 ...
- 1Python全栈之路系列之MySQL数据库基本操作
Python全栈之路系列之MySQL数据库基本操作 MySQL数据库介绍 MySQL是一种快速易用的关系型数据库管理系统(RDBMS),很多企业都在使用它来构建自己的数据库. MySQL由一家瑞典公司 ...
- MySQL数据库——基本操作
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.数据库基本操作 (一).登陆数据库 1.交互登陆 mysql -u root -p 2.免交互登陆 mysql - ...
- Linux安装卸载Mysql与基本操作
一.安装Mysql软件 1.下载rpm包 本文章使用的系统是Linux,所以你需要下载一个mysql的rpm包 https://dev.mysql.com/downloads/ 根据系统版本下载,Ce ...
- MYSQL数据库基本操作——DML
MYSQL数据库基本操作--DML 何为DML 三种基本操作 何为DML DML是数据操作语言,Data Manipulation Language.是对表的数据记录进行更新操作的,包括插入inser ...
最新文章
- 「压缩」会是机器学习的下一个杀手级应用吗?
- [HAOI2015][loj2127]按位或
- 顶级极客技术挑战赛,你敢来挑战吗?| 大神登峰造极
- 电脑手写输入法_QQ拼音输入法除了能打字,竟然还有 N 多妙用!
- 决策树可视化保姆级教程
- 玩转oracle 11g(8):使用profile管理用户口令
- SCOM 2012 SP1---安装SCOM 2012 SP1
- adobe Director的一些快捷键(direct_Shortcut)
- String转为byte[] ,byte[]转为String,byte[]与String的相互转换
- 阿里云存储:安防行业背后的赋能者 | 凌云时刻
- 14串聚合物锂电池保护板和电路图(带均衡功能)
- vue手机号校验,邮箱校验
- RSA前端加密,java后端解密
- 用FAI制作debian自动安装盘
- js 控制字符串长度 区分中英文
- C语言端口扫描源码,C语言实现TCP多线程端口扫描
- MDWechat(微信美化)
- MySQL医疗信息管理系统数据库(源码)
- 效率神器工具,看这篇就够了!
- 【Python】内存、引用、驻留