mysql1

-- 数据库: 2 3属于物理型数据库(关机还在)

-- MySQL/Oracle 关系(一对一 一对多 多对多)型数据库

-- 文档型数据库 MongoDB (名词对的形式出现 name :tom)

-- 内存型数据库 redis

-- SQL结构化查询语言

-- 在数据库中是以表(table)的形式来组织数据的

-- Mysql中的数据类型:

1. int 整形

2. char 字符型 表示固定的文本 例如:name:char(10) tom+7个空格=10

3. varchar 字符型 表示可变的文本(常用) 例如:name varchar(10) tom

4. float/double 浮点型(小数)

5. date 日期类型 可以存储年月日的时间(重要)

6. time 时间类型 表示 时:分:秒

7. datetime 表示 年-月-日 时:分:秒(重要)

-- select 表示查询  *表示所有的信息 from 从哪张表查询 person 表名

select id,username from person

--查询指定列

select * from perso

SELECT age,school from stu

-- 使用命令创建表  create创建  table表  person表名

-- not null 非空(必须填东西)AUTO_INCREMENT id列自动递增 DEFAULT NULL 默认为空

-- PRIMARY KEY ('id')表示将id列定义为主键(非空并且唯一)

-- 你看到的所有的蓝色英文单词都可以称为关键字 (具有特殊意义的单词)

-- 约束:表中对数据输入的限制,保证数据录入的准确性 NOT NULL    PRIMARY KEY

-- 常用的约束: primary key(主键约束),foreign key(外键约束),not null(非空约束),

--      unique(唯一键)(与主键的区别,可以为空null值),check检查约束0--120 就只能查0-120 叫检查约束

CREATE TABLE `person` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(255) DEFAULT NULL,

  `password` varchar(255) DEFAULT NULL,

  `age` int(11) DEFAULT NULL,

  `birthday` datetime DEFAULT NULL,

  PRIMARY KEY (`id`)

)

-- 创建一个员工表(Employee),表中的列会包含

员工的编号(empno)

员工的姓名(ename)

员工的职位(job)

员工的工资(salary)

员工所在部门的编号(depton)

并将员工的编号设为主键

创建表的规范:

1. 不能使用中文,只能使用英文和数字,不能以数字开头

2. 表名中不能出现空格

3. 表名不能使用SQL中的关键字

CREATE TABLE employee1(

empno int(11) NOT NULL AUTO_INCREMENT,

ename varchar(255) DEFAULT NULL,

job varchar(255)  DEFAULT NULL,

salary FLOAT DEFAULT NULL,

deptno int(11) DEFAULT NULL,

PRIMARY KEY (empno)

)

--  创建部门表

CREATE TABLE dept1(

deptno int(11) NOT NULL,

dname VARCHAR(255),

location VARCHAR(255),

PRIMARY KEY(deptno)

)

-- 重点的内容:主键与外键(约束) 外键列要参照主表中的主键  体现表之间的关联关系(1对多 1:N)

-- 删除表

DROP TABLE person(表的名称)

DROP TABLE dept1

DROP TABLE employee1

-- 清空表的数据

TRUNCATE person

-- 区别

-- DROP TABLE(删除整个表:物理删除,不能恢复)

-- TRUNCATE TABLE(删除表中的数据:物理删除,不能恢复)

-- DELETE FROM TABLE (清空表中所有的数据:DELETE属于DML操作,删除之后的数据可以通过回滚恢复)

-- 查询表中的数据

SELECT * FROM person

-- SQL的语句分类

-- 1.DDL(数据定义语言) CREATE (创建) DROP (删除) TRUNCATE  ( 清空表数据)

-- 2.DML(数据操作语句) INSERT ( 添加) UPDATE (修改) DELETE (删除)

语法

INSERT INTO 表名称 VALUES (值1, 值2,....)

-- 向dept中添加一条数据

SELECT * FROM stu

INSERT INTO stu VALUES(3,'jazz',30,'forknwo');

-- 向dept中添加插入的列

INSERT INTO stu(id,name,age) VALUES(4,'java',40);

-- 如果在添加数据的时候不想添加id,想让id是自动递增的,我们需要将id设置为自增列(自动加1)

TRUNCATE TABLE stu

-- 自动递增

INSERT INTO stu(name,age) VALUES('java',40);

-- 我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

--  向dept中添加一条数据

INSERT INTO dept VALUES(50,'bob','shenyang');

INSERT INTO dept VALUES(60,'tob','shenyang');

select * from dept(查询列表dept)

INSERT INTO dept(deptno,loc) VALUES (70,'shenyang' );

INSERT INTO dept(deptno,dname,loc) VALUES (71,'DDWE','shenyang');

-- DELETE FROM 表名称 WHERE 列名称 =值    表示删除

SELECT * FROM stu

DELETE FROM stu where id =10

DELETE FROM dept WHERE deptno=71;(删除某一行)

-- 修改 UPDATE 表名称 SET 列名称1 = 新值1,列名称2=新值2 WHERE 列名称 = 某值

UPDATE stu SET age = 40 WHERE id = 9

-- 3.TCL(事物控制语句) COMMIT  (提交 ) ROLLBACK  ( 回滚)

-- 事物:涉及到 增 删 改 不包括查询

-- 就是一系列的操作,这一系列操作中如果有一个操作失败,就会取消之前所有的操作

-- 事物解决的问题:

--    1.数据库中数据的同步

--    2.让我们添加 修改  删除数据永久生效

--

--

-- 4.DQL(数据查询语句) SELECT (查询)

你可能感兴趣的:(mysql1)