数据库相关的增删改查操作——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
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
注意:在创建表之前先选择所要使用的数据库。创建表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;
windows电脑出现命令行中无法插入中文数据的解决方案
在建立数据库和表的时候先设置编码格式
小结
##数据库相关
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;
上一篇: php学习笔记之面向对象_php基础
下一篇: PHP微信API的接入和关键字自动回复