mysql的安装,数据库的操作,创建数据库,修改表,创建表,删除表,插入数据
mysql是什么?
现在是甲骨文公司下的一款关系型数据库,
优点:免费,体量小,相对稳定,开源
关系型数据库还有:sql-server
非关系型数据库:redis
两者的区别:关系型存储位置是在磁盘,非关系型存储位置在内存
数据库的安装:
1.首先要安装mysql
注意:需要把 add to path 勾选上,默认端口: 3306 无必要不要更改,
安装时尽量把账号和密码设置成自己能记住的不要太复杂
2.再安装三方工具:navicat15
注意:本身需要收费需要自己去下载破解包
3.使用三方工具连接本机数据库
步骤:输入连接名--》如果是连接主机就不用改主机名--》端口也不用改--》输入用户名--》
输入密码--》点击测试连接--》点击确定
4.数据库:Database 可以简称 DB
Database system 简称 DBS 有电脑硬件和操作系统和数据库管理系统和DBA构成
DBA:database Adminstrator 作用:维护数据库及数据库的相关开发。
数据库管理系统:database management system 简称DBMS ,mysql,oracle都是数据库管理系统也是关系型数据库
上述关系中,在数据库领域中有哪些关系?
(1) 直接关系:同一张表中,不同的两张表有相同的字段
(2) 间接关系:同一个数据库中,不同的两张表之间没有直接关系,
但可以通过第三张表或其他表,建立联系
我们可以一个连接比喻成一个很大的物流园,
在物流园中有很多的厂房,厂房中有很多的货架,每个货架上又有很多行。
在我们抽象的理解中,我们可以把物流园看成一个链接,把厂房看成一个数据库,
把一个货架看成一张表,把一个个货物看成一条条数据。
在dos命令窗口常用的dos命令:
进入dos窗口:win+R
进入指定目录:CD目录名返回上级目录:CD ..
回到根目录:CD /
查看当前目录下的子目录和文件:DIR
宽屏查看: dir /w
分页查看: dir /p
mysql工作目录介绍
应用程序位置:Xampp\mysql\bin----mysql.exe
mysql配置文件:windows平台:my.ini linux平台:my.inf
mysqld.exe:mysql服务端程序
连接数据库的语法:
mysql -u root -p (根据提示输入密码即可,前提是将MySQL的bin目录添加至环境变量)
如果没有添加环境变量那么需要进入到bin目录下
sql语句注意事项:
(1)编写SQL语句的时候所有的标点符号都需要英文
(2)sql语句在编写语句的时候需要小写
(3)sql语句以分号结尾
(4)所有的单词必须正确
(5)语法顺序必须正确
简单的的sql语句
(1)进入连接后需要查询有哪些数据库:
关键字:show
语句:show databases ;
(2)进入某个数据库:
关键字: use
语句:use test;
(3)查看数据库中有哪些表
show tables ;
(4)查看表结构:
关键字:desc
desc 表名;
describe 表名;
field:域,字段或列的意思
type:类型的意思
Null:为空,什么都没有,不确定内容的意思 '':空串
key:键,关键字的意思
default:默认,在数据库中多指默认值
(5)查询表中所有数据
关键字:select 查询的意思 from 从哪里.....
语法;select 列名 from 表名;
在没有规定具体要显示那些列名的时候可以用*号代替查询所有
如果规定了具体要显示哪些列则必须使用对应的列名
如果我们需要显示多个列,那么需要使用逗号隔开即可
Select ad_id,ad_name from esc_ad;
注意:在三方工具编写查蔼语句时需要注意自己在哪个连接中在哪个数据库下在写sql语句。
我们既然要查询数据那么就一定要精准。
(6)查看当前连接是哪个数据库
select database();
(7)查看当前那个用户连接的数据库
select user();
(8)dos命令窗口下退出mysql程序
1.输入quit;
2.输入exit;
3.按ctrl + c
注意事项:不要直接输入mysql后回车进入数据库
数据库的操作
(1)创建数据库的命名规则;
1.数据库名称可以支持大小写字母,特殊字符就是_,来组合
2.数据库名称一般以字母大头
3.数据库名称建议在1-30个字符
4.数据库名可以支持中文汉字,但是不推荐
5.创建数据库的语法:
关键字:create database
create database 库名;---创建数据库当没有指定字符集(以后在插入数据的时候遇到汉字可能会报错)
create database 库名 default character set utf8
collate utf8_general+_ci;---创建数据库时指定字符集utf8
create:创建
database:数据库
default:默认
character:字符集
set:设置
collate:校对
ci:大小写不敏感
cs:大小写敏感
练习:创建数据库 school , school1
create database school;
create database school1 default character set utf8 collate utf8_general_ci;
6.修改数据库的字符集
关键字:alter database
语法:alter database 库名 character set 字符集 collate 排序规则;
alter:修改
练习:修改school1使得字符集为utf16
alter database school1 character set utf16 collate utf16_general_ci;
alter database school1 character set utf8 collate utf8_general_ci;
7.删除数据库
关键字:drop
语法:drop database 库名;
练习:将school和school1删除
drop database school;
drop database school1;
create database student default character set utf8 collate utf8_general_ci;
create database teacher default character set utf8 collate utf8_general_ci;
drop database student;
drop database teacher;
数据库中的表的操作
1.创建表
(1)表名称的命名规则;
1.表名称可以支持大小写字母,特殊字符就是_,来组合
2.表名称一般以字母大头
3.数据库名称建议在1-30个字符
4.数据库名称可以支持中文汉字,但是不推荐
5.表名称尽量含有业务意义
(2)创建表语法:
create table [库名].表名(
列名1 数据类型1(长度),
列名2 数据类型2(长度),
列名3 数据类型3(长度)
);
create database school;
create table school.student(
id int(2),
name varchar(5),
age int(3)
);
create table school.teacher(
id int(2),
name varchar(5),
age int(3)
);
create table school.class(
id int(2),
name varchar(5),
age int(3)
);
2.修改表
关键字;alter table
(1)为一个表增加一个字段
语法:alter table [库名].表名 add [column] 列名 数据类型[长度];
add: 添加
column:列
练习:添加一个字段在每张表中
alter table school.class add column sex varchar(2);
alter table school.student add column sex varchar(2);
alter table school.teacher add column salary float(7);
(2)在一张表中删除一列
语法:alter table [库名].表名 drop[column] 列名;
alter table school.class drop sex;
alter table school.class add sex varchar(2);
alter table school.class add column card varchar(18);
关键字:drop 删除
3.删除表
语法:
drop table [库名].表名;
练习:删除school下的class表;
drop table school.class;
复制表
(1)只复制表结构
语法:create table [库名].新表名 like 被复制的表名;
create table school.student1 like school.student;
create table school.teacher1 like school.teacher;
(2)复制表结构加数据
语法:create table [库名].新表名 as select * from 被复制的表名;
create table school.a as select * from school.student;
create table school.b select * from school.student;
create table school.c as select * from school.student;
create table school.d as select * from school.student;
插入数据:
(1)单条插入数据
insert into school.student values(1,"小白",20,"女");
(2)批量插入数据
insert into school.student values
(2,"小白",20,"女"),
(3,"小白",20,"女"),
(4,"小白",20,"女");