目录
数据库的一些基本概念
-
数据库 (Database ,DB)
-
数据库管理系统(Database Managerment System, DBMS)
Oracle MySQL, SQL Server , DB2,Access
-
数据库应用程序( Database apply system ,DBAS)
应用数据库的程序,基本上都是,如qq
-
数据库管理员(DBA)
-
数据库管理系统(DBS)
数据库+数据库管理系统+数据库应用程序+数据库管理员+最终用户
MySQL的安装
- linux 下安装MySQL:
安装mysql: yum -y install mysql-server
查看系统的服务: cd /etc/init.d
启动mysql服务: servicw mysqld start
随机启动mysql服务:chkconfig mysql on
查看随机启动的服务:chkconfig --list
查看系统的启动方式:more /etc/inittab
2.win 下安装mysql
包资源: MySQL官网下载(下载的是MSI的包资源,直接进行安装),另外一种安装包archives,在命令行里进行安装。具体安装百度即可。
安装后的配置
-
安装Navicat for mysql 进行连接服务
在连接上选择mysql数据库,设置主机地址,默认端口3306,密码进行远程连接mysql服务 -
MySQL默认的编码是希腊的,所以,首先修改编码:
vi /etc/my.cnf
添加代码:
default-character-set=utf-8
重启服务:
service mysqld restart
运行程序:
mysql -h -u -p
-h主机IP地址
-u用户名
-p回车后输入密码 -
默认远程不可以访问数据库,可以修改这个设置
在shell下输入:
mysql_secure_installation
进行root密码的修改,打开远程等操作(注意,默认情况下,没有密码,直接回车就可以了
按照提示进行修改,打开允许远程进行登录服务。
然后,进入msql :
mysql -uroot -p
输入密码
运行:
grant all on . to root @’%’ identified by '你设置的登录密码‘
赋予所有的可以登录的远程主机以root用户身份进行登录,并赋予所有的权限
win下可以命令行中运行来修改。SQL语句
- DQL(数据查询语言)
select - DML(数据操作语言)
insert,update,delete - DDL(数据库定义语言)
create, alter, drop - DCL(数据库控制语言)
grant, revoke - TCL(事物控制语言)
SAVEPOIONT, ROLLBACK, SET TRANSACTION , COMMIT
DDL
数据库操作:
- 创建数据库
create database 数据库名字 - 删除数据库
drop database 数据库名字 - 切换数据库
use 数据库名字 - 查看当前选择的数据库
select database()
数据的备份与恢复: - 备份:
进入C:\Program Files\MySQL\MySQL Server 8.0\bin下(配置了环境变量可以不用)
运行:mysqldum -uroot -p my_db > d:/my_db_backup.sql
选择将my_db这个数据库备份到d:/my_da_backuo.sql下 - 恢复:
mysql -uroot -p 数据库名字 < d:/my_db_backup.sql
也可以进入某个数据库之后,执行:
source d:/my_db_backup.sql
表操作
-
创建表
create table t_admin
(
id int primary key,
aname varchar(5) not null,
address varchar(255)
) -
删除表:
drop table t_admin;
注释:-- 注释内容 -
显示表的信息:desc t_student;
-
修改表:
alter table 表名 add|change|drop|modify 列名 类型; -
在t_student 表中添加一个新字段
alter TABLE t_student add sex int(1) DEFAULT 0;-- 在t_student 中修改一个新字段 ALTER TABLE t_student change sname name VARCHAR(300) not null; -- 全部字段插入 INSERT into t_student VALUES(1,'zhangsan','shanghai',1); -- 选择几个字段插入 INSERT into t_student (id ,name) VALUES (2,'lisi'); -- 某个字段是自增的 -- 给t_student的id修改为自增的选项 ALTER table t_student MODIFY id int auto_increment; -- 在自增的数据进行填写的时候,可以填入任意数据,会自增 INSERT into t_student VALUES (0,'wu','beijing',0); -- 修改某一个数据 update t_student set address='广州' where id=6; -- 删除 delete from t_student where id = 4;
- DQL(数据查询语言)
表的约束
主键约束:并不是只有一个字段组成,可以用多个字段组成联合主键
声明方法: id int primary key.
唯一约束: email varchar(255) unique
非空约束:name varchar(255) not null,
检查约束: age number(2) check (age>0 and age <100),
外键约束: foreign key (deptno) references dept(deptno): depto 这个字段是主表dept的deptno列的字段
约束的三种写法:
-
直接写在数据的类型面
-
写在创建表的下面
CONSTRAINT titles_ibfk_1 FOREIGN KEY (emp_no) REFERENCES employees (emp_no)
-
写在表创建完成之后
alter table t_department add constraint fk_id foreign key (parent_id) references t_department (id);
DQL
select
最简单的查询
use employees;
select * from dept_manager;
SELECT dept_no