WEB——06.MySQL(1)
文章目录
DBMS
- DataBaseManagementSystem,数据库管理系统(数据库软件)
SQL
- Structured Query Language:结构化查询语言。
- 通过这门语言让程序员和数据库软件进行交流。
和数据库软件建立连接
- 通过命令行/终端和数据库建立连接
- 首先检查MySQL/MariaDB服务是否开启。此电脑->右键管理->服务和应用程序(services.msc)
- 退出:exit
- 建立连接指令:mysql -uroot -proot
- 通过三方的可视化工具和数据库软件建立连接
数据库相关
- 在MySQL数据库软件中保存数据要先建数据库再建表,然后再往表里添加数据。
创建数据库
查询所有数据库
- 格式:show databases;
创建数据库
- 默认字符格式:create database 数据库名;
- 指定字符集格式:create database 数据库名 charset=utf8/gbk;
- 举例:
- create database db1;
- create database db2 charset=utf8;
- create database db3 charset=gbk;
查询数据库信息
- 格式:show create database 数据库名;
- 举例:
- show create database db1;
- show create database db2;
- show create database db3;
删除数据库
- 格式:drop database 数据库名;
- 举例:
- drop database db2;
- drop database db2;
使用数据库
- 在执行表相关和数据相关的SQL语句之前必须使用了某个数据库
- 格式:use 数据库名;
- 举例:
- use db1;
数据库相关练习
-
创建 mydb1和mydb2 数据库 字符集分别为utf8和gbk
- create database mydb1 charset=utf8;
- create database mydb2 charset=gbk;
-
查询所有数据库检查是否创建成功
- show databases;
-
检查两个数据库的字符集是否正确
- show create database mydb1;
- show create database mydb2;
-
先使用mydb2 再使用 mydb1
- use mydab1;
- use mydab2;
-
删除两个数据库
- drop database mydb1;
- drop database mydb2;
表相关
- 执行表相关的SQL之前必须使用了某个数据库。
- create database newdb1 charset=utf8;
- use newdb1;
创建表
- 格式:create table 名字(字段1名 类型,字段名2 类型…)
- 举例:
- create table person(name varchar(50),age int)charset=utf8;
- create table student(name varcgar(50),chinese int,math int,english int);
查询所有表
- 格式:show tables;
查询表信息
- 格式:show create table person;
查询表字段
- 格式:desc 表名
- desc student;
删除表
- 格式:drop table 表名
- drop table student;
修改表名
- 格式:rename table 原名 to 新名
- rename table person to per;
表相关练习
-
创建数据库mydb3 字符集gbk 并使用
create database mydb3 charset=gbk;
use mydb3; -
创建t_hero英雄表, 有名字和年龄字段 默认字符集
create table t_hero(name varchar(),age int);
- 修改表名为hero
rename table t_hero to hero;
4.查看表的字符集
show create table hero;
5.查询表字段
desc hero;
6.删除表
drop table hero;
7.删除数据库
drop database mydb3;
表相关(续)
添加表字段
create database newdb2;
use newdb2;
create table emp(name vatchar(30));
- 最后面添加格式alter table emp add 字段名 类型;
- 最前面添加格式alter table emp add 字段名 类型 first;
- 某字段后面添加格式alter table emp add 字段名 类型 after 字段名;
- 举例:
- alter table emp add age int;
- alter table emp add id int first;
- alter table emp add gender varchar(10) after name;
删除表字段
- 格式:alter table 表名 drop 字段名;
- alter table emp drop id;
修改表字段
- 格式:alter table 表名 change 原名 新名 新类型;
- 举例:
- alter table emp change age gender varchar(10);
查看其他库中的表
- show tabels from 数据库名
表相关练习题
1.创建数据库mydb4字符集utf8并使用
create database mydb4 charset=utf8;
2.创建teacher表,有名字字段
create table teacher(name varchar(50));
3.添加表字段:最后添加age;最前面添加id,age前面添加salary工资
alter table teacher add age int;
alter table teacher add id int first;
alter table teacher add salary int after name;
4.删除age字段;
alter table teacher drop age;
5.修改表名为t;
rename table teacher to t;
6.删除表
drop table t;
7.删除数据库
drop database mydb4;
数据相关
create database mydb5;
use mydb5;
create table person(name vatchar(50),age int);
插入数据
- 全表插入格式:insert into 表名 values(值1,值2);
- 指定字段插入格式:insert into 表名(字段1,字段2) values(值1,值2);
- 举例:
- insert into person values(‘tom’,18);
- insert into person(name) values(‘jerry’);
- 批量插入格式:insert into 表名 values(值1,值2),values(值1,值2);
- 批量指定字段插入格式:insert into 表名(字段1,字段2) values(值1,值2),values(值1,值2);
- 中文问题:
- insert into person values(‘刘德华’,50);执行本SQL语句报错的话,执一下命令。 set names gbk;
查询数据
- 格式:select 字段信息 from 表名;
- 举例:
- select name from person;
- select name,age from person;
- select * from person;
- select * from person where age>20;
- select age from person where name=‘tom’;
修改数据
- 格式:update 表名 set 字段名=值,字段名=值 where 条件;
- 举例:
- update person set name =‘汤姆’ where name=‘tom’;
- update person set name=“杰瑞” where name=“jerry”;
删除数据
- 格式:delete from 表名 where 条件;
- 举例:
- delete from person where name=‘汤姆’;
综合练习题
1.创建数据库day1db 字符集utf8并使用
create database day1db charset=utf8;
use day1db;
2.创建t_hero表, 有name字段 字符集utf8
create table t_hero(name varchar(20))charset=utf8;
3.修改表名为hero
rename table t_hero to hero;
4.最后面添加价格字段money, 最前面添加id字段, name后面添加age字段
alter table hero add money int;
alter table hero add id int first;
alter table hero add age int after name;
5.表中添加以下数据: 1,李白,50,6888 2,赵云,30,13888 3,刘备,25,6888
insert into hero values(1,‘李白’,50,6888),(2,‘赵云’,30,13888),(3,‘刘备’,25,6888);
6.查询价格为6888的英雄名
select name from hero where money=6888;
7.修改刘备年龄为52岁
update hero set age=52 where name=‘刘备’;
8.修改年龄小于等于50岁的价格为5000
update hero set money=5000 where age<=50;
9.删除价格为5000的信息
delete from hero where money=5000;
10.删除表, 删除数据库
drop table hero;
drop database day1db;
常见错误提示
- You have an error in your SQL;你的SQL语句中有个错(检查SQL拼写)。
- database exists;数据库已存在。
‘刘备’;
8.修改年龄小于等于50岁的价格为5000
update hero set money=5000 where age<=50;
9.删除价格为5000的信息
delete from hero where money=5000;
10.删除表, 删除数据库
drop table hero;
drop database day1db;
常见错误提示
- You have an error in your SQL;你的SQL语句中有个错(检查SQL拼写)。
- database exists;数据库已存在。