黑马小日子--数据库基础
数据库
一. MySQL简介:
a) 数据库简介:
i. SQL Server 不跨平台
ii. Oracle 跨平台, java编写,市场占有率最多
iii. DB2 IBM的,java编写,跨平台
b) MySql的安装:
i. Shell>window命令
Mysql>mysql命令,(windows中不区分大小写,)
登录数据库:
Mysql -u root -p 你的密码
查看已安装的数据库:
Show databases ;
基本sql语法(SQL 格式化查询语言)
DDL(定义数据库和表结构的语句)
数据库操作: 1,创建一个名为mydb1的数据库 Create database mydb1; 2.查看数据库创建细节: Show create database mydb1; 3.创建一个使用gbk字符集的mydb2数据库。 Create database mydb2 character set gbk; 4.创建一个使用utf8字符集,并带校对规则的mydb3数据库 Creat database mydb3 character set utf8 collate utf8_general_ci; 5.查看当前数据库服务器中的所有数据库 Show databases; 6.删除前面创建的mydb1数据库 Drop database mydb1; 7.查看服务器中的数据库,并把mydb2库的字符集修改为utf8; Alter database mydb2 character set utf8 collate utf8_general_ci; 8.备份数据库test(不会备份数据库名,只会备份数据库中的表结构和表中的记录) shell>mysqldump -u root -psorry test>d:\test.sql 9.恢复数据库test(不会恢复数据库名,只会恢复数据库中的表结构和表中的记录) 恢复前要先创建数据库的名称 mysql>CREATE DATABASE test; 选择要恢复的数据库 mysql>USE test; 恢复备份的数据 mysql>SOURCE d:/test.sql; 表操作: 1.创建表: Create table employee( Id int, Name varchar(200), Gender varchar(2); Birthday date, Entry_date date; Job varchar(100), Salary float(M,d), M指定显示长度,d指定小数位数 ); 2.查看当前数据库中的所有表格 Show tables; 3.在上面员工表的基本上增加一个image列 Alter table employee add (image blob); 4.查看表的字段 Desc employee; 5.修改job列,使其长度为60 Alter table employee modify job varchar(60); 6.删除gender列 Alter table employee drop gender, 7.表名改为user Rename table emplyee to user; 8.修改表的字符集为utf-8 Alter table user character set utf8; 9.列名name修改为username Alter table user change name username(200); |
DML(操作对象是表中的记录数据。增加、删除、修改。Data Manage Language)
增加:INSERT。字符和日期类型数据要用单引号引起来。
1.使用insert语句向表中插入三个员工的信息 Insert into user (id,username,birthday,entry_data,job,salary)values (1,'jiangnan','1989-10-06','2012-07-10','coder',8000); |
约束
主键约束: primary key 不能为空,不能重复
非空约束: nut null 不能为空
自动增长: auto _increment
外键约束: constraint dept_id_fk foreign key (dept_id) references department(id)
dept_id_fk : 给外键一个命名
foreign key : 外键声明
dept_id : 指定外键对应表中的dept_id字段
department(id): 指定这个外键参考于department表中的id字段
多表连接:
一对多连接: Create table department( Id int primary key, Name varchar(100) ); Create table employee( Id int primary key, Name varchar(100), Salaryfloat, dept_id int, Constraint dept_id_fk foreing key(dept_id) references department(Id) ); |
多对多: //教师表 Create table teacher( Idintprimarykey, Namevarchar(100) ); //学生表 Createtablestudent( Idint primarykey, Namevarchar(100), ); //第三方表 Create table teacher_student( T_id int, S_id int, Primary key (T_id,S_id), Constraint T_id_fk foreign key (T_id) references teacher(Id), Constraint S_id_fk foreigns key(S_id) references studnet(Id) ); |
表数据类型: |
黑马小日子--数据库基础相关推荐
- SSH:Oracle数据库基础
2019独角兽企业重金招聘Python工程师标准>>> Oracle数据库基础 一:Oracle基础知识 Oracle数据库的主要特点 (1.)支持多用户,大事务量的事务处理 (2. ...
- 数据库基础笔记(MySQL)1 —— 基础概念
(写算法题目把自己心态搞崩了,休息两天顺便把之前学的数据库手写笔记记录在网上方便查阅,因为只是自己学的时候做的笔记,如果有错误欢迎大家指正,过两天再重回算法的怀抱哈哈) 如何下载配置 这个感觉视频讲的 ...
- ORACLE系列之SQL从入门到精通(全面把控数据库基础)
2019独角兽企业重金招聘Python工程师标准>>> 学习目标: 1.了解设计数据库的步骤 2.掌握如何绘制数据库的E ...
- 1 SQL server数据库基础
SQL server数据库基础 一 数据库简介 1数据库的基本概念 1)数据 ·描述事物的符号记录称为数据(Data),包括数字.文字.图像.声音等.以"记录"的形式按统一格式进行 ...
- Oracle数据库基础入门《二》Oracle内存结构
Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...
- oracle 10g 连接语句,Oracle 10g数据库基础之基本查询语句-下-连接子查询
实验18:表的连接查询 该实验的目的是掌握基本的联合查询. 表的连接 我们要从多张表中要得到信息,就得以一定的条件将表连接在一 实验18:表的连接查询 该实验的目的是掌握基本的联合查询. 表的连接 我 ...
- java学习与总结:MySQL和数据库基础知识
文章目录 MySQL MySQL数据库索引数据结构 B树和B+树的区别 MySQL一条数据是怎么保存到数据库的 WAL : WRITE AHEAD LOG binlog 和 redo log 流程 M ...
- php大牛额城战笔记,PHP语言大牛开发笔记(8)——MySQL数据库基础回顾[2]
本文主要向大家介绍了PHP语言大牛开发笔记(8)--MySQL数据库基础回顾[2],通过具体的实例向大家展示,希望对大家学习php语言有所帮助. 一.数据表 为了确保数据的完整性和一致性,在创建表时指 ...
- oracle 语句 在线测试,2017年Oracle数据库基础测试答案.doc
. . word完美格式 2017年Oracle数据库基础测试答案 姓名 成绩 一.单项选择题(每题1分,共60分) 列出EMP表中,从事每个工种(JOB)的员工人数 A.select job fro ...
最新文章
- Facebook新AI模型实现直接从非英语语言翻译到另一种非英语语言
- linux子系统gdp调试,Linux系统中GDB功能汇总
- delphi webbrowser 经常用法演示样例
- html5中在图片上打字的语法,HTML5 canvas 基本语法
- 旋转图像—leetcode48
- scikit-learn学习笔记(一)快速入门数据集格式和预测器
- Windows下VTK6.0.0安装详解(CMake使用说明)
- AtCoder3950 [AGC022E] Median Replace(DFA + dp)
- MYSQL导入数据出现ERROR 1049 (42000): Unknown database 'n??;'
- JQuery使用deferreds串行多个ajax请求
- VS2015打开cshtml视图页文件报错 未将对象引用设置为实例 解决办法
- 优酷路由宝刷潘多拉固件最详细教程+最新版+赚钱插件
- Java实现一个简单的计算器功能
- LeetCode打家劫舍系列
- PIE-Engine 教程:水稻面积提取1(宿迁市)
- “辩”与“辨”的区别
- 华为设备路由器直连路由器配置
- 高品质后处理:十种图像模糊算法的总结与实现
- 怎样实现在单片机上跑LINUX系统,简述Linux如何应用在嵌入式单片机上
- 【每日早报】2019/12/31
热门文章
- 详尽!统计学知识大梳理
- 2020进阶版 -【C语言/C++编程语言学习路径图】!
- 7-69 猴子选大王
- 1+1中的“+“号是什么意思?
- 智慧水库大坝安全监测系统解决方案
- 院士发声:科研人也要养家,非升即走只能做短平快的研究
- WiFi 5Ghz信道表
- Android是基于Linux的开源操作系统也是Linux内核
- Java-Day12 面向对象的三大特征之封装、继承,单例模式(饿汉式、懒汉式)、方法重写 (覆盖)、注解 (annotation)、super关键字、对象的创建流程超详细
- c语言一个按键控制1个灯的亮灭,51 单片机:按键控制灯亮灭和闪烁