MySQL基础和表约束

SQL语句的作用

改变数据库的结构
更改系统的安全设置
增加用户对数据库或表的许可权限
在数据库中检索需要的信息
对数据库的信息进行更新

SQL语句的分类

DDL:数据库模式定义语言,关键字:create
DML:数据操纵语言,关键字:Insert、delete、update
DCL:数据库控制语言 ,关键字:grant、remove
DQL:数据库查询语言,关键字:select

SQL书写规范

在数据库系统中,SQL语句不区分大小写(建议用大写) 。
但字符串常量区分大小写。
SQL语句可单行或多行书写,以“;”结尾。
关键词不能跨多行或简写。
用空格和缩进来提高语句的可读性。
子句通常位于独立行,便于编辑,提高可读性。
SELECT * FROM tb_table
注释:
SQL标准:
/**/。多行注释
“–” 单行注释
MySql注释:
“#”

show databases;(SHOW DATABASES)

列出在MySql服务器主机上的数据库。

creat database 数据库名; (SHOW DATABASE)

创建数据库。

drop database 数据库名;(DROP DATABASE)

删除数据库。

use 数据库名;(USE)

把指定数据库作为默认(当前)数据库使用,用于后续语句。

数据库对象

对象名称描述
基本的数据存储对象,以行和列的形式存在;列就就是字段,行就是记录
约束执行数据校验,保证了数据的完整性
索引用于提高查询的性能
视图一个表或多个表数据的逻辑显示
数据字典系统表,存放数据库相关信息的表

数据库对象的命名规则

必须以字母开头
可包括数字和三个特殊字符(# _ $)
不要使用MySQL的保留字
同一Schema下的对象不能同名

show (SHOW)

显示当前数据库中已有的数据表的信息

describe|desc(DESCRIBE|DESC)

desc 表名,列名;
查看数据表中各列的信息

创建数据库表

CREATE TABLE 表名(
列名 列类型,
列名 列类型
);

用ALTER TABLE语句修改表的结构

  • 修改列类型
    ALTER TABLE 表名 MODIFY 列名 列类型;
  • 增加列
    ALTER TABLE 表名 ADD 列名 列类型;
  • 删除列
    ALTER TABLE 表名 DROP 列名;
  • 列改名
    ALTER TABLE 表名 CHANGE 旧列名 新列名 列类型;
  • 更改表名
    ALTER TABLE 表名 RENAME 新表名;
    RENAME TABLE 表名 TO 新表名;

在表中增加字段

使用ADD 子句增加字段,新的字段只能被加到整个表的最后
–ALTER TABLE employees
–ADD (gender CHAR(1));

修改字段

可修改列的数据类型,大小和默认值
–ALTER TABLEemployees
–MODIFY(age number(1));
不是任何情况都可以修改的,当字段只包含空值时,类型、大小都可以修改,否则修改可能不能成功
修改默认值,只会对以后的插入有作用,对以前已经存在的数据不会有影响

删除字段

可以从表中删除列:
–ALTER TABLE employees
–DROP COLUMN sex;
从每行中删除掉字段占据的长度和数据,释放在数据块中占用的空间.
删除大表中的字段将需要比较长的时间,因为还需要回收空间

更改表名

rename table … to …
支持一次重命名多个表。

约束

约束是在表上强制执行的数据校验规则.
约束主要用于保证数据库的完整性。
当表中数据有相互依赖性时,可以保护相关的数据不被删除.
大部分数据库支持下面五类完整性约束:
NOT NULL非空
UNIQUE Key唯一键
PRIMARY KEY主键
FOREIGN KEY外键
CHECK检查

根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值