iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL 基本操作
  • 309
分享到

MySQL 基本操作

mysql数据库 2023-09-03 14:09:07 309人浏览 独家记忆
摘要

目录 数据库的列类型 数据库基本操作 SQL语言规范 SQL语句分类 查看表,使用表 管理数据库  创建数据库和表 删除数据库和表 向数据表中添加数据 查询数据表中数据 修改数据表的数据 删除数据表中数据 修改表明和表结构 扩展表结构(增加

目录

数据库的列类型

数据库基本操作

SQL语言规范

SQL语句分类

查看表,使用表

管理数据库

 创建数据库和表

删除数据库和表

向数据表中添加数据

查询数据表中数据

修改数据表的数据

删除数据表中数据

修改表明和表结构

扩展表结构(增加字段)

修改字段(列)名,添加唯一键

删除表中字段

克隆表

 清空表

外键约束


数据库的列类型

int:整型                      用于定义整数类型的数据
float:单精度浮点4字节32位        准确表示到小数点后六位        
double:双精度浮点8字节64位
char:固定长度的字符类       用于定义字符类型数据,固定10字节,如果你设定5字节,显示还是10字节
#Char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错
varchar:可变长度的字符类型                 固定10字节,如果你设定5字节,显示就是5字节
text:文本
image:图片
decimal(5,2):5个有效长度数字,小数点后面有2位        指定长度数组

数据库基本操作

sql语言规范

在数据库系统中,SQL 语句不区分大小写,建议用大写

SQL语句可单行或多行书写,默认以 " ; " 结尾

关键词不能跨多行或简写

用空格和TAB 缩进来提高语句的可读性

子句通常位于独立行,便于编辑,提高可读性

SQL语句分类

DDL: Data Defination Language 数据定义语言,用于创建数据库对象,用于数据库的操作,如库、表、索引等。eg:create、drop、alter。

数据库相关操作(查show、增create、删drop):

查看数据库信息:show database;

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

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

DML: Data Manipulation Language 数据操纵语言,用于对表中的数据进行管理,用来插入、删除、修改数据库中的数据。eg:insert、delete、update。

DQL:数据查询语言,用于从数据表中查找符合条件的数据记录。eg:select。

DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些 语句定义了数据库、表、字段、用户的访问权限和安全级别,如commit、follback、grant、revoke)

查看表,使用表

进入Mysql的两种方法:

mysql -u root -p
mysql -u root -p123456

查看当前数据库:

show databases;

进入指定表:

#进入指定的mysql表中
use mysql

查看表名:

show tables;

查看表的结构:

describe user;

管理数据库

 创建数据库和表

#创建数据库create database user;
#创建表CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]); use user;  #创建一个info表,id int类型,name char类型,长度不能超过10且不能为空,age int型,sex char型,长度为4,sorce一共五位。保留小数点后两位mysql> create table info(id int,name char(10) not null,age int,sex char(4),sorce decimal(5,2)); #查看表结构desc info;  

删除数据库和表

#进入指定的数据库内删除表drop table user; #在数据库外删除drop table user.user;
删除指定数据库DROP DATABASE 数据库名; mysql> drop database cfs; 

向数据表中添加数据

#向数据表中插入新的数据记录insert into 表名(字段1,字段2,字段3) values(字段1的值,字段2的值,字段3的值); insert into info(id,name,age,sex,sorce) values(1,'aaa',20,'男',90);insert into info(id,name,age,sex,sorce) values(2,'bbb',20,'女',80);  #查看info表select * from info;
#直接使用表明加入字段,每个字段都要添加insert into info values(3,'ccc',24,'男',70);
#可以指定字段添加,没有添加的就是默认值NULLinsert into info(id,name,age)values(4,'DDD',26);

查询数据表中数据

#格式SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式]; #示例1:查看所有数据select * from info;
#查询指定数据select name from info where id=1;#只显示前两行select * from info limit 2;select * from info where id<=2;只显示3-4行select * from info limit 2,2;select * from info where id>2 and id<=4;

修改数据表的数据

#格式UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];  #修改名字UPDATE info SET name='user' WHERE id=2;

删除数据表中数据

#格式:DELETE FROM 表名 [WHERE 条件表达式];  #删除表中id为4的数据delete from info where id=4;

修改表明和表结构

格式:ALTER TABLE 旧表名 RENAME 新表名; #将表名info修改成basealter table info rename base;

扩展表结构(增加字段)

#default 'default值':表示此字段设置默认值 地址未填写!;可与 NOT NULL 配合使用ALTER TABLE 表名 ADD address varchar(50) default 'default值'; alter table base add address varchar(50) default 'china';

修改字段(列)名,添加唯一键

唯一键的作用,设置这个字段不能重复,比如说身份证、手机号,一般不作为主键,但也不能重复,就设置为唯一键  #格式ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];  alter table base change id sid char(4) unique key;

删除表中字段

#格式ALTER TABLE 表名 drop 字段名; alter table base drop age;

克隆表

方法一:#通过 LIKE 方法,复制 base 表结构生成 test01 表create table 新表 like 源表;#导入数据insert into 新表 (select * from 源表);     数据一样,表结构一样  create table test1 like base;insert into test1 select * from base;
方法二:create table 新表 (select * from 源表);    数据一样,表结构可能不一样 create table test2 (select * from base);
#获取数据表的表结构、索引等信息  show create table base\G; 

 清空表

方法一:#DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。  delete from 表名;        一条一条的删除,效率较慢,自增长字段仍然会按照清空前的顺序自增 delete from test1
方法二:TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录(相当于格式化) truncate table 表名;     直接重置表,清空效率快,自增长字段会从1重新开始truncate table test2;

临时表

临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执行增删改查等操作,比如使用 DROP TABLE 语句手动直接删除临时表。  临时表   create temporary table 表名 (....);   临时表只能在当前会话中有效,且退出当前会话则会失效  create temporary table test1(    id int(4) zerofill primary key auto_increment,    name varchar(10) not null,    cardid int(18) not null unique key,    score varchar(50));

外键约束

保证数据的完整性和一致性外键的定义:如果同一个属性字段x在表一中是主键,而在表二中不是主键,则字段x称为表二的外键。 主键表与外键表的理解: (1)以公共关键字作主键的表为主键表(父表、主表) (2)以公共关键字作为外键的表为外键表(从表、外表) 与外键关联的子表的字段必须设置为主键。要求主表外键字段和子表的字段具备相同的数据类型、字符长度和约束。  主键表: alter table 表名 add primay key (主键字段);外键表: alter table 表名 [constraint FK_外键别名] add foreign key (外键字段) references 主键表名 (主键字段);插入数据时,是先主表再外表;删除数据时,是先外表再主表
#创建主表profcreate table prof (pid int,pname char(10));   #创建从表studentcreate table student (id int,name varchar(10),age int,proid int);  #为主表prof添加一个主键约束,主键名建议以“PK_”开头alter table prof add primary key(pid);  #为从表student添加外键,并将student表的proid字段和prof表的pid字段建立外键关联,外键名建议以“FK_”开头alter table student add constraint FK_PRO foreign key (proid) references proff(pid); 必须先给主表插入数据后,从表才能插入insert into prof values(1,'云计算');insert into prof values(2,'大数据');insert into prof values(3,'JAVA');insert into prof values(4,'前端');insert into prof values(5,'UI设计');  给从插入数据insert into student values(1,'aaa',26,1);insert into student values(1,'bbb',22,4);insert into student values(1,'ccc',22,3);

来源地址:https://blog.csdn.net/GUARDIAN_L/article/details/132531650

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 基本操作

本文链接: https://www.lsjlt.com/news/392308.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么显示表的字段
    如何显示 oracle 表的字段 在 Oracle 数据库中,可以使用 DESC 命令显示表的字段。 语法: DESC table_name 参数: table_name:要显示字段的表...
    99+
    2024-05-14
    oracle
  • oracle怎么看所有的表
    在 oracle 数据库中查看所有表的步骤:连接到数据库运行查询:select table_name from user_tables; 如何使用 Oracle 查看所有表 ...
    99+
    2024-05-14
    oracle
  • oracle怎么显示行数
    如何使用 oracle 显示行数 在 Oracle 数据库中,有两种主要方法可以显示行数: 1. 使用 COUNT 函数 SELECT COUNT(*) FROM table_n...
    99+
    2024-05-14
    oracle
  • oracle怎么显示百分比
    oracle中显示百分比的方法有:使用百分号“%”;使用to_char()函数;使用format()函数(oracle 18c及更高版本);创建自定义函数。 Oracle 显...
    99+
    2024-05-14
    oracle
  • oracle怎么删除列
    oracle 中删除列的方法有两种:1)使用 alter table table_name drop column column_name 语句;2)使用 drop colum...
    99+
    2024-05-14
    oracle
  • sql怎么查看表的索引
    通过查询系统表,可以获取表的索引信息,包括索引名称、是否唯一、索引类型、索引列和行数。常用系统表有:mysql 的 information_schema.statistics、postg...
    99+
    2024-05-14
    mysql oracle
  • sql怎么查看索引
    您可以使用 sql 通过以下方法查看索引:show indexes 语句:显示表中定义的索引列表及其信息。explain 语句:显示查询计划,其中包含用于执行查询的索引。informat...
    99+
    2024-05-14
  • sql怎么查看存储过程
    如何查看 sql 存储过程的源代码:使用 show create procedure 语句直接获取创建脚本。查询 information_schema.routines 表的 routi...
    99+
    2024-05-14
  • sql怎么查看视图表
    要查看视图表,可以使用以下步骤:使用 select 语句获取视图中的数据。使用 desc 语句查看视图的架构。使用 explain 语句分析视图的执行计划。使用 dbms 提供...
    99+
    2024-05-14
    oracle python
  • sql怎么查看创建的视图
    可以通过sql查询查看已创建的视图,具体步骤包括:连接到数据库并执行查询select * from information_schema.views;查询结果将显示视图的名称、...
    99+
    2024-05-14
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作