数据库基础(库、表、视图、属性、数据类型、约束、索引)增删改查

16 篇文章 9 订阅 ¥9.90 ¥99.00

sql server默认端口号为:1433

mysql 默认端口号为:3306

oracle 默认端口号为1521


目录

系统窗口 输入SQL语句小技巧

查改 MySQL配置信息

增删改库

增删改字符集

增删改查表

增删改查视图

增删改查表结构

增删改表数据

清空表与重置数据

增删查表约束条件

索引管理

建表约束条件以及默认


SQL 结构化语句分类

SQL 结构化查询语言,是RDBMS的官方操作语言

可以分为四类:DDL\DQL\DML\DCL

        DDL:数据定义语言,一般是用来是实现数据库的结构操作。
        常用关键字:create\drop\alter\truncate
    
        DQL:数据查询语言,一般是用来查询数据。
        常用关键字:select
        
        DML:数据管理语言,是用来管理、操作存储在数据库中的数据的。
        常用关键字:insert、delete、update
        
        DCL: 数据控制语言,是用来管理数据库的权限相关的。
        常用关键字:grant

系统窗口 输入SQL语句小技巧

一条数据列,当超出当前列会换行;可以把 ";" 替换 "\G"

mysql远程连接权限

在docker上创建mysql之后被外界拒绝访问 查看了docker上的mysql连接并没有什么问题 但就是一直报错,查了半天说是需要外界连接授权 也就是

#这样的一个代码 但是很多人都会发现还是一直报错 说语法有问题

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

查了很久之后看到有说mysql8.0之后其实用的不是这样的sql

create user root@'%' identified by 'root';

grant all privileges on *.* to root@'%' with grant option;


只需要按照步骤执行代码即可!

CREATE USER '用户名'@'host' IDENTIFIED BY '密码';
grant all privileges on *.* to '用户名'@'%' with grant option;

最后记得权限更新

flush privileges;

原文链接:https://blog.csdn.net/weixin_45949736/article/details/126942157

查改 MySQL配置信息

服务器的端口号387,客户端的端口号3306

查看版本信息:select version();

查看端口号:   show global variables like 'port';

查看用户和主机信息:select user,host from mysql.user;

修改MySQL密码:alter user root@localhost identified by '123456'

下面不支持修改密码

//*方法一 修改密码*/
set password for root@localhost = password(newpwd);
 
 
//*方法二 修改密码*/
mysqladmin -uroot -poldpwd password newpwd;
 
 
//*方法三 修改密码*/
use mysql;
update user set password=password(‘newpwd') where user='root' and host='localhost'; 
flush privileges;

增删改库

创建数据库:   create database 数据库名;

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

切换数据库:   use 数据库名;

查看当前数据库:select database();

查看所有数据库:show databases;

重命名数据库名称:(先创建新库,在通过重名表形式迁移表名,在删除旧库)

CREATE DATABASE new_db_name;
RENAME TABLE old_db.table1 TO new_db.table1,old_db.table2 TO new_db.table2;
DROP DATABASE db_name;

增删改字符集

 create database T charset 字符集;(gbkutf8)

 修改字符集:set names字符集;(gbkutf8)

修改字符聚:alter table 表名 default       charset =字符集名

增删改查表

创建表:   create table T(

      字段名1  数据类型1  约束条件  COMMENT '字段注解1',

      字段名2  数据类型2  约束约束  COMMENT '字段注解2',

      约束条件 (字段名1),

      约束条件 (字段名2),

      …………)ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='表名注注解';              

复制表:1create table 原T like 新T;

               2create table 新T select * from 原T;

删除表: drop table T;

查看所有表:show tables;

查看创建表时的语句:show create table T;

修改表名:alter table 旧T rename 新T;

改查视图

创建视图:create view 视图名(a,b) as select a,b from ExistTable;

删除视图:drop view 视图名;

修改视图:update 视图名 set

改查表结构

增加字段:alter table 表名 add 属性名 数据类型;     

        增加第一个字段:…… add …… first;

        增加某个字段之后:…… add …… after 数据类型;

删除字段:alter table 表名 drop 属性名;

修改属性名:alter table 表名 change 旧属性名 新属性名 新/数据类型

        仅修改字段:change 旧属性名 新属性名 数据类型        

        修改字段和数据类型:change 旧属性名 新属性名 新数据类型

修改数据类型:alter table 表名 modify 属性名 新数据类型

修改存储引擎:alter table 表名 engine=新存储引擎名

查看表结构:describe T;  (简写: desc T;)

表新增字段:alter table 表名 add字段 类型 其他;

ALTER TABLE 表名 ADD CONSTRAINT 键名 PRIMARY KEY ( 列名,多个列名用逗号分隔 );

改表数据

增:①  Insert into T (属性) values (数据);

       ②  Insert into T values (数据) 

       ③  Insert into T(属性) values(数据)

       ④  Insert into T set 属性1=数据,属性2=数据

       ⑤  Insert into T select语句

insert into teacher select tid+(select max(tid) from teacher),tname,tage from teacher;

删: delete from T where 条件;(删行记录)

改: update 表名 set 字段名=新值 where 条件;(更新数据)

查: select * from 表名;

查看表中字段注解:show full columns from 表名;

清空表与重置数据

清空表记录(删除数据,不会释放内存,可撤销,执行慢):delete from T;

重置表记录(删除数据,会释放内存,不可撤销,执行快):truncate table T;


表约束条件

增:  alter table 表名  add unique(字段名);

删: drop index key_name on T;

查: show keys from 表名;

索引管理

CREATE 索引  INDEX 索引字段 ON table_name

alter方式创建索引:ALTER TABLE tb_name ADD 索引  index 字段;

drop方式删除索引:DROP INDEX <索引名> ON <表名>

alter方式删除索引:ALTER TABLE <表名> DROP INDEX <索引名>

①UNIQUE:唯一索引        ②FULLTEXT:全文索引 ③

建表约束条件以及默认

    1、主键约束(Primay Key) 唯一性,非空性

    2、唯一约束 (Unique)唯一性,可以空,但只能有一个

    3、检查约束 (Check)对该列数据的范围、格式的限制(如:年龄、性别等)

    4、默认约束 (Default)该数据的默认值

    5、外键约束 (Foreign Key)需要建立两表间的关系并引用主表的列

         6、非空  (not null)

   7、评论  (comment)

   8、默认值 (default)

   9、默认为当前时间 (default current_timestamp)

   10、默认编码  (default charset=utf8)




各种查询数据知识:

单表多表数据查询(笛卡尔积、内连接、外连接)各种函数_Aimin20210819的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AMING20220827

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值