mysql候选关键字_MySQL——(SQL语句)

关系型数据库设计范式:

第一范式:当关系模式R的每个关系属性都是不可分的数据项,那么就成R是第一范式的模式(1NF)

简单说法:字段是原子性的

第二范式:党关系模式R是2NF,且关系模式R(U,F)中的所有非主属性对任何候选关键字不存在传递依赖,则称关系R是属于第三范式

简单说法:存在可用主键

第三模式:当关系模式R是2NF,且关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递依赖,则称关系R是属于第三方范式

简单说法:任何表都不应该有依赖于其他表非主键的字段

数据库组件:

数据库,表,索引,视图,用户,权限

编程接触的组件:(触发器,存储过程,存储函数,事件调度器)

mysql安装完成之后的安全配置(mysql_secure_installation:一键配置脚本)

1、删除mysql匿名用户

2、为所有root用户设置密码

3、关闭主机名反解功能

SQL语句类型:

DDL:数据库定义语言

create,drop,alter

DML:数据库操作语言

insert,delete,update,select

DCL:数据控制语言

grant,revoke

常用SQL语句:

create:

CREATE DATABASE    #创建数据库

CREATE DATABASE CHARACTER SET charset_name db_name;    #创建数据库并设置字符编码

CREATE TABLE table_name(字段名,字段数据类型,约束条件)

#创建表

数据类型:

×××:int

tinyint     #1byte

smallint    #2byte

mediumint   #3byte

int         #4byte

bigint      #8byte

字符型:

char        #固定长度字符型(不区分大小写)

varchar     #可变长度字符型(不区分大小写)

binary      #固定长度字符型(区分大小写)

varbinary   #可变长度字符型(区分大小写)

约束条件:

NOT NULL        #不允许为空

DEFAYULT        #默认值

PRIMARY KEY     #主键

UNIQUE          #唯一键

unsigned        #无符号(适用于int类型)

auto_increment  #自增,需要定义在一个键中(适用于int类型)

CREATE INDEX

#创建索引,索引是特殊的数据结构,用于搜索加速,一般定义在查找时作为查找条件的字段

例:create table test (id int primary key auto_increment, name varchar(50));

mycli:功能更强大的mysql客户端,使用python开发的

#mysql客户端工具

使用实例:

show global variables;

#查看全局参数,有的参数能够修改并立即生效,有的需要修改配置文件

show session variables;    #mysql的当前会话参数

show character set;        #查看支持的字符集

show collation;            #查看支持的排序规则

show engines;              #查看支持的存储引擎

show table status like 'user'\G                            #查看表状态

show global variables like '%server%';    #数据库id

show master logs;          #查看二进制日志

show master status;        #查看主服务器状态

show grants for 'dj'@'localhost';    #查看di用户授权信息

show index from mysql.user;    #查看索引

show databases;            #查看数据库

show tables;               #查看数据库的表

desc table_name             #查看表结构

select 字段名 from 表名 [where 查询条件]    #查看表中内容

select * from user\G;        #查看用户的详细信息

select database();            #查看默认数据库

select * from test where id>2 and id<4;

#查询test表中id大于2小于4的数据

where条件:

> < >=    <=  == !=  and  or  not

like: 模糊查询   rlike基于正则表达式的模糊查询

drop database 数据库名;        #删除数据库

drop table 表名;               #删除指定表

drop user '用户名'@'主机'       #删除用户

update 表名 set 更改的值 where 条件匹配    #修改表中的数据

update test set name='liuxiao' where id=2;

delete from 表名 where 条件匹配    #删除条件匹配的数据

delete from test where id=2;

insert into 表名 (字段1,字段2) values(字段1的值,字段2的值)

insert into test(name) values('xiaoqiao');

insert into 表名 (字段1,字段2) select语句

#插入通过select查询得到的数据

insert into user (user,host,passwd) select User,Host,

Password from mysql.user;

grant 权限列表 on 数据库.表 to '用户名'@'授权主机' identified by '密码'#授权用户

revoke drop on 数据库.表 from '用户名'@'授权主机';#撤销授权

altar table 表名 add 字段名 字符型#添加字段

alter table test ip varchar;

altar table 表名 change 源名 修改后的名 字符型#更改字段

alter table test change ip sid int;

altar table 表名 drop 字段名#删除字段

alter table test drop sid;

set global 变量名=值;#设置全局参数

set session 变量名=值;#设置当前会话参数

use 数据库名;#指定默认数据库

create index 索引名 on 表名;#创建索引

flush privileges;#重读授权表

创建表的三种方式:

1、直接创建

create teble 表名 (字段名1 字段类型,字段名2 字段类型)

2、复制表和表中的数据

create teble  表名 select语句

例:create teble  test select User,Host,Password from mysql.user;

3、复制表结构

create teble tbl_name like 模板表

例:create teble test2 LIKE test

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值