欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库相关的增删改查操作——SQL语句及演示(Mysql学习系列一)

程序员文章站 2022-05-10 07:57:34
...

初识数据库

什么是DB

DataBase:数据库,数据库实际上就是一个文件集合,本质就是一个文件系统,数据按照特定的格式存储到文件中,使用sql语言对数据进行增删改查操作.

为什么不用IO流存储数据

IO流文件存储有一下弊端
1. 效率低(开发效率低,执行效率也低)
2. 数据的增删改查非常麻烦
3. 只能保存小量数据
4. 只能存储文本数据

什么是DBMS

DataBaseManagementSystem:数据库管理系统,管理数据库文件的软件

  • 指一种操作和管理数据库的大型软件,用于建立,使用和维护数据库,对数据进行统一的管理和控制,用户通过DBMS访问数据库中的数据
    常见:mysql oracle db2 sqlserver sqlite …

开始学习MySQL

连接数据库

- 首先要启动数据库,选择手动,可以使用命令查看服务是否启动:
		net start mysql;
- 打开终端或命令行 在终端中输入以下命令:(进入MySQL数据库,后面没有分号)
	mysql -uroot -p然后敲回车(输入密码),然后再敲回车  
- 退出指令: exit;

数据库相关的增删改查操作——SQL语句及演示(Mysql学习系列一)

什么sql

Stuctured Query Language: 结构化查询语言,使用sql语言和数据库服务器进行交互,通过sql告诉数据库服务器对数据进行什么操作.

sql规范

1. 以;(分号)结尾
2. 关键字之间有空格,通常只有一个,但多个也可以
3. 可以存在换行
4. 数据库名称和表名称区分大小写

数据库相关的SQL

1.查看数据库
show databases;
2.创建数据库
-格式: create database 数据库名 
	  create database mydb1;
-指定字符集: create database mydb2 character set gbk;
3.查看指定的数据库
	show create database mydb2;
4.删除数据库
	drop database mydb1;
5.使用数据库
	use db1;

数据库相关的增删改查操作——SQL语句及演示(Mysql学习系列一)

与表相关的SQL

注意:在创建表之前先选择所要使用的数据库。创建表sql语句的执行过程: 在终端中写完sql语句后敲回车终端会把sql通过网络传输到DBMS(mysql),DBMS对sql语句进行解析,然后对数据库中的数据进行操作

1. 创建表
-格式: create table 表名(字段1名 字段1类型, 字段2名 字段2类型,.....);
	create table stu(id int,name varchar(10),age int, chinese int, 
	math int,english int);
		
练习:创建英雄表hero  字段(id name type sal)
	create table hero(id int,name varchar(10),type varchar(10),sal int);
2. 查看所有表
	show tables;
3. 查看指定表详情 和 表的字段信息
	-格式:show create table 表名;
	-格式:desc 表名;
4. 创建表指定引擎和字符集
	create table t1(id int,name varchar(10)) engine=myisam charset=gbk;
5. 删除表
	drop table t1;

表的引擎

1. innodb:支持数据库的高级操作,包括:事务 外键等
2. myisam:仅支持数据的增删改查操作

表的修改

对db1数据库中的person表进行修改

use db1;
create table person(id int,name varchar(10));

1. 修改表的名称
	-格式: rename table 原名 to 新名;
	rename table person to t_person;
	
2. 修改表的引擎和字符集
	-格式: alter table 表名 engine=myisam charset=gbk;
	alter table t_person engine=myisam charset=gbk;
	show create table t_person;
	
3. 添加表的字段
	-最后面格式: alter table 表名 add 字段名 字段类型;
		alter table t_person add age int;
		desc t_person;
	-最前面格式: alter table 表名 add 字段名 字段类型 first;
		alter table t_person add chinese int first;
	-某个字段的后面格式: alter table 表名 add 字段名 字段类型 after 字段名;	
		alter table t_person add math int after id;
		
4. 删除字段
	-格式:alter table 表名 drop 字段名;
		alter table t_person drop chinese;
		
5. 修改字段名称和类型
	-格式:alter table 表名 change 原字段名 新字段名 字段类型
	alter table t_person change age myage int;

6. 修改字段的类型和位置
	-格式:alter table 表名 modify 字段名 字段类型 first/after xxx;
	alter table t_person modify myage int after id;

与数据相关的SQL

对表t_stu操作
create table t_stu(id int,name varchar(10),age int);

1. 插入数据---insert into 表名 values
-全表插入:要求插入的数据的数量和顺序要和表字段的数量顺序一致
		格式:insert into 表名 values(值1,值2,值3....);
		insert into t_stu values(1,'小曾',20);
-指定字段插入
		格式:insert into 表名 (字段1,字段2...) values(值1,值2...);
		insert into t_stu (id,name) values(2,'小王');
-批量插入:
		insert into t_stu values(3,'悟空',23),(4,'八戒',20),(5,'沙僧',18);
		insert into t_stu (id,name) values(6,'刘备'),(7,'关羽'),(8,'貂蝉');
2. 查询数据
		select * from t_stu;
		select name,age from t_stu;

3. 删除数据
	delete from t_stu where name='八戒';
	delete from t_stu where age is null;
	
4. 修改数据
	update t_stu set name='张三' where id=1;
	update t_stu set name='卷帘大将',age=200 where id=5;

数据库相关的增删改查操作——SQL语句及演示(Mysql学习系列一)

windows电脑出现命令行中无法插入中文数据的解决方案

在建立数据库和表的时候先设置编码格式
数据库相关的增删改查操作——SQL语句及演示(Mysql学习系列一)

小结

##数据库相关
create database db1 character set utf8;
show databases;
show create database db1;
drop database db1;
use db1;
##表相关
create table t1 (id int,name varchar(10));
show tables;
show create table t1;
desc t1;
drop table t1;
rename table t1 to t2;
alter table t1 engine=myisam charset=gbk;
alter table t1 add age int first/after xxx;
alter table t1 drop age;
alter table t1 change age myage int;
alter table t1 modify myage int first/after xxx;
##数据相关
insert into t1 (id,name,age) values(a,b,c),(a2,b2,c2);
select id,name from t1;
update t1 set a=1,b=2 where id=1;
delete from t1 where id=1;