每日一讲

SQL语句

SQL语句分类

SQL书写规范

数据库操作

查看

创建

MySQL字符集

ci大小写不敏感,cs大小写敏感,

在Linux下配置MySQL

utf8与utf8mb4的区别

数据库对象

表的基本操作

创建表

创建部门表

表物理存储结构

查看表

查看表结构

删除表

修改表的结构

复制表的结构(必须搞定)

数据类型

text类型:

number类型:int、bigint、float、double、decimal

数据库字典

表的约束(重要知识点,必须需要掌握)


每日一讲

1.复习知识点并且卸载docker的问题

docker相比于虚拟机来说体量小,虚拟机体量大,docker相当于一个容器

卸载docker的办法,记得删除目录中的文件再进行删除docker

SQL语句

sql语句,结构化查询语言,不同厂商的sql语句有一丢丢不同,但是几乎是如出一辙的,主要用于存储数据,更改结构,系统安全设置,检索信息,更改用户许可权限,信息更新等。

SQL语句分类

1)DDL:数据定义语言  关键字有:create(创建),drop(删除) ,truncate(删除表结构,再创一张表),alter(修改)------(关于信息的生死操作)

2)DQL:数据查询语言  关键字有:select打交道最多的就是select

3)DML:数据操作语言  关键字有:insert(插入),update(更改),delete(删除)

4)TCL:事务控制语言 关键字有:begin,savepoint,rollback,commit非常重要,维护数据库统一性

5)DCL:数据控制语言  关键字有 :grant,revoke,deny创建用户,对用户授予权限

SQL书写规范

1、大小写都是一样

2、用‘;’结束语句

3、关键词不能跨多行书写或者简写

3、SQL标准:1、/**/多行注释

2、“--”单行注释

MySQL注释:    "#"

数据库操作

查看

latin1支持西欧字符、希腊字符等
        gbk支持中文简体字符
        big5支持中文繁体字符
        utf8几乎支持世界所有国家的字符。

下划线匹配单个字符  mysql自带数据库

查看

show databases

创建

1.经常性的是直接创建数据库

基本字符集 :utf8

2.也可以通过语句直接创建数据库

创建数据库

create database databasedemo002 ;

查看创建数据库

show create database databasedemo002(数据库名);

详细创建数据库

create database databasedemo003 default character set utf8 collate utf8_general_ci;

删除数据库

drop database databasedemo003;

切换数据库

use databasedemo001;

操作时一定要知道自己在那个数据库里

查看当前数据库

select database();

查看当前版本

select version();

查看当前用户

select user();

查看所有用户

select user,host,password from mysql.user;

MySQL字符集

查看当前sql所支持的字符集

show variables like ‘character%’;

查看所支持的所有校验规则

show collation;

ci大小写不敏感,cs大小写敏感,

在Linux下配置MySQL

在etc目录下编辑my.cnf有一些基本设置,default-character--set+utf8适合5.1以及以前版本;(课堂笔记)并将增加在my.cnf的mysql下面增加,然后重启mysql,则systemctl restart mysqld.service

utf8与utf8mb4的区别

mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了

数据库对象

1、必须以字母开头

2、可以包括数字和三个特殊符号(#_$)

3、不使用mysql保留字

4、不重名

关系就是通过约束来保持数据库的一致性;视图就是不同的人看到不同的数据,不同的视图;索引是为加快数据库的性能

表的基本操作

创建表

1.根据语法创建表

标准数据库的语法

CREATE TABLE [schema.]table
    (column datatype[DEFAULT expr] ,
        …
    ) ENGINE = 存储机制   engine(存储yinqin)以后的可以省略后边是可以做更多的设置

2.直接创建表主键就是不允许重复的,zerofill可以用0进行填充指最大长度,注释尽可能加上,如果没有规范的就尽量加上注释,行业不一样,字段不一样(养成良好习惯)auto就是自动的;

创建部门表

部门标号为主键,f9为执行

表物理存储结构

cd /var/lib/mysql/mysql

ls -l user*查询表

数据类型

区别比较明显,类型长度和大小不一样,字符型用的比较多,大对象存储图像

text类型:

数据类型 描述
CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字 符)。在括号中指定字符串的长度。最多 255 个字符。
VARCHAR(size) 保存可变长度的字符串(可包含字母、数字以及特殊字 符)。在括号中指定字符串的最大长度。最多 255 个字 符。 注释:如果值的长度大于 255,则被转换为 TEXT 类型。
TINYTEXT 存放最大长度为 255 个字符的字符串。
TEXT 存放最大长度为 65,535 个字符的字符串。
BLOB 用于 BLOBs (Binary Large OBjects)。存放最多 65,535 字节的数据。
MEDIUMTEXT 存放最大长度为 16,777,215 个字符的字符串。
MEDIUMBLOB 用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 字节的数据。
LONGTEXT 存放最大长度为 4,294,967,295 个字符的字符串。
LONGBLOB 用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。
ENUM(x,y,z,etc.) 允许你输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。如果列表中不存在插入的值,则插入空值。 注释:这些值是按照你输入的顺序存储的。 可以按照此格式输入可能的值: ENUM('X','Y','Z')
SET 与 ENUM 类似, SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。

number类型:int、bigint、float、double、decimal

数据类型 描述
TINYINT(size) -128 到 127 常规。 0 到 255 无符号*。在括号中规定最 大位数。
SMALLINT(size) -32768 到 32767 常规。 0 到 65535 无符号*。在括号中 规定最大位数。
MEDIUMINT(size) -8388608 到 8388607 普通。 0 to 16777215 无符号*。在 括号中规定最大位数。
INT(size) -2147483648 到 2147483647 常规。 0 到 4294967295 无 符号*。在括号中规定最大位数。
BIGINT(size) -9223372036854775808 到 9223372036854775807 常规。 0 到18446744073709551615 无符号*。在括号中规定最大位 数。
FLOAT(size,d) 带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DOUBLE(size,d) 带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DECIMAL(size,d) 作为字符串存储的 DOUBLE 类型,允许固定的小数点。

注意:这些整数类型拥有额外的选项 UNSIGNED。通常,整数可以是负数或正数。如果添加 UNSIGNED属性,那么范围将从 0 开始,而不是某个负数。

date类型:应用的都挺多,都要记住

数据类型 描述
DATE() 日期。格式: YYYY-MM-DD 注释:支持的范围是从 '1000-01-01' 到 '9999-12-31'
DATETIME() 日期和时间的组合。格式: YYYY-MM-DD HH:MM:SS 注释:支持的范围是'1000-01-01 00:00:00' 到 '9999-12- 31 23:59:59'
TIMESTAMP() 时间戳。 TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。格式: YYYY-MM-DD HH:MM:SS 注释:支持的范围是从 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC
TIME() 时间。格式: HH:MM:SS 注释:支持的范围是从 '-838:59:59' 到 '838:59:59'
YEAR() 2 位或 4 位格式的年。 注释: 4 位格式所允许的值: 1901 到 2155。 2 位格式所允许 的值: 70 到69,表示从 1970 到 2069

常用的数据类型都要记住

查看表

查看表结构

直接查看和通过语句查询表结构

describe dept;

describe employee;

show columns from dept;

show create table dept;/**/可以查看创建表的语句

删除表

drop table student;如果还在刷新一下就没了

drop table if exits account;

修改表的结构

1、直接进行修改

2、通过sql语句进行修改表的结构

修改列类型

alter table dept modify dept_desc varchar(100);修改列类型,修改长度为100

增加列

alter table dept add dept_company varchar(50);多了一个字段

删除列

alter table dept drop dept_company;

修改列的名字

alter table dept change dept_desc dept_description varchar(100);

对表的重命名

alter table dept rename depts;

rename table depts to dept;将depts重新命名为dept

复制表的结构(必须搞定)

三种方法:

1、先创建一个新表与dept拥有相同结构

create table depts like dept;只拷结构不拷数据

2、创建表的备份(备份的洗表表事先不存在)

create table deptss select * from dept;

3、已经创建表,并且将数据导入另外一张表(表事先存在)

insert into depts select * from dept;将dept的数据拷贝到depts中

数据库字典

由information_schema数据库负责维护

tables-存放数据库里所有的数据表、以及每个表所在数据库。
schemata-存放数据库里所有的数据库信息
views-存放数据库里所有的视图信息。
columns-存放数据库里所有的列信息。
triggers-存放数据库里所有的触发器。
routines-存放数据库里所有存储过程和函数。
key_column_usage-存放数据库所有的主外键
table_constraints-存放数据库全部约束。
statistics-存放了数据表的索引。

表的约束(重要知识点,必须需要掌握)

维护数据的一致性,尽可能降低数据的冗余(数据的重复),要求数据出现唯一性,比如人的身份证号,取值范围例如年龄,数据参照例如学生表以及成绩表,记录时要求姓名与成绩相匹配,不匹配时就是一个无效的数据,主键约束(数据唯一性,主键的列不是描述业务字段,记录编号,记录实现唯一性),非空约束(值不能为空的,必须要有值),唯一约束性(唯一性,相当于产品比编号),外键约束(体现数据依赖性,有参照),检查约束,默认值约束。

数据库——数据库表和表的操作相关推荐

  1. SQL2K数据库开发六之表操作创建产品表products

    1.在SQL Server企业管理器中的数据库下的"表"节点上右击鼠标,在弹出的菜单上点击"新建表". 2.在出现的表设计器中,为表中加入五个列:Product ...

  2. SQL2K数据库开发十一之表操作创建UNIQUE约束

    1.在数据库关系图中右击表Products,然后从弹出的菜单中选择"属性"命令.或者点击工具栏上的属性图标.         2.或者展开sample数据库,在表Products上 ...

  3. SQL2K数据库开发八之表操作创建主键

    1.使用Transact-SQL语句在表中创建主键时,可以在创建表的语句中定义列时使用如下语法: 2.在查询分析器中输入如下的语句,可以创建一个表Suppliers,该表中的SupplierID列被定 ...

  4. 6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法

     mysql安装完之后,登陆后发现只有两个数据库:mysql>show databases; +--------------------+ | Database           | +- ...

  5. java 从数据库取值_JAVA操作数据库--从一张表中取值,经过判断,然后插入另一张表中。...

    JAVA操作数据库-->从一张表中取值,经过判断,然后插入另一张表中. SQL语句如下:两张表 weather 和 weather_process. id均为自动增长.Oracle中采用序列 S ...

  6. MySQL基础(二)数据库、表的创建及操作

    这一部分主要使用SQL中的DDL,数据库定义语言(data definition language),对数据库,表进行新建,修改,和删除. 数据库(database) 显示所有数据库 SHOW DAT ...

  7. mysql 横纵表转化_数据库MySQL横纵表相互转化操作实现方法

    本文实例讲述了MySQL横纵表相互转化操作实现方法.分享给大家供大家参考,具体如下: 先创建一个成绩表(纵表) create table user_score ( name varchar(20), ...

  8. 分布式列数据库--理解hbase列存储机制、架构、表结构设计、命令操作

    1. HBase简介 HBase是Hadoop Database的简称,是建立在Hadoop文件系统之上的分布式面向列的数据库. HBase和HDFS HDFS适用于存储大容量文件的分布式文件系统,不 ...

  9. 【数据库】第一章 数据库的分类、SQL、数据库、表和表记录的常用操作

    [数据库]第一章 数据库的分类.SQL.数据库与表的常用操作 文章目录 [数据库]第一章 数据库的分类.SQL.数据库与表的常用操作 一.数据库的分类 1.关系型数据库 2.非关系型数据库 3.MyS ...

  10. 广州大学数据库实验报告_广州大学学生Access数据库实验1_表的创建和操作

    学院 工商管理 年级.专 业.班 人力 152 姓名 学号 实验课程名称 数据库技术及应用 II 成绩 优 实验项目名称 表的创建和操作 指导 老师 一.实验目的 1. 掌握 Access 2007 ...

最新文章

  1. 【Zookeeper】源码分析之Leader选举(一)
  2. 从 Domino 7.x 升级到 Domino 8.0.1 后服务器性能下降
  3. 搭建Hexo部署到github上
  4. python制作验证码_Python编写生成验证码的脚本的教程
  5. LeetCode-链表-206. 反转链表
  6. ffmpeg利用libav库把yuv视频流转换为TS串流
  7. android中白色怎么表示,通知栏图标在android 5中变成白色
  8. c++输出txt格式循环一组数据后换行再循环一次_numpy、pandas以及用pandas做数据分析的案例...
  9. chrome浏览器fitler中的XHR作用是什么
  10. python中isalpha()、isdigit()、isalnum()、isupper()、islower()的含义、区别和细节
  11. 判断二极管导通例题_如何判断开关电源变压器的好坏
  12. 如何屏蔽电脑微信自动更新
  13. Python 学习2-元组、字符串
  14. 今日恐慌与贪婪指数为20 恐慌程度有所上升
  15. 如何阅读一本专业书?
  16. 下列有关预防计算机病毒的做法或想法,Windows7试题
  17. Lucene 7.5.0 索引文件之liv
  18. C语言实现大计基作业之某种图灵机
  19. 数加加众包:奔驰“哭诉维权”美女硕士,你“不要脸”的样子真的很美
  20. MySQL启动服务提示:某些服务在未由其他服务或程序使用时将自动停止

热门文章

  1. Android开发之保存图片到相册的三种方法详解
  2. 企业如何选择和配置服务器解决方案(2023年版本)
  3. 中国五金行业B2B电商峰会3月24日将于郑州召开
  4. JS中将中文数字转化为阿拉伯数字
  5. 如何做好用户故事地图?
  6. Eclipse下用JFS和Tomcat防问SQLServer数据库的以下配置
  7. PTA-整除光棍(C语言)
  8. IDEA的下载及安装
  9. GSoC2011 主要入选方向
  10. GSoC: GitHub Checks API 项目第三阶段总结