当前位置:网站首页>MySQL基础操作
MySQL基础操作
2022-07-31 03:55:00 【老师好我是大白】
创建数据库
CREATE DATABASE 数据库名;
# 实际操作
mysql> CREATE DATABASE ncayudb;
Query OK, 1 row affected (0.00 sec)
mysql>
# 编码
utf8mb4
# 排序规则
utf8mb4_unicode_ci
# 创建数据库的时候,使用这个命令创建数据库
CREATE DATABASE `ncayu` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE `ncayuDB` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
DDL:
DDL(Data Definition Language)数据定义语言:
适用范围:对数据库中的某些对象(例如,database,table)进行管理,如Create,Alter和Drop.truncate
DDL操作是隐性提交的,不能rollback!
DDL代表数据定义语言,它定义了数据库结构或数据库模式,可以将数据库中定义的数据的其他属性定义为属性域;还提供了指定一些约束以保持数据一致性的工具。DDL命令有助于创建数据库和其他数据库对象的结构。它的命令是自动提交的;因此,更改将永久保存在数据库中。
一些DDL命令包括create,drop,alter,truncate和rename。create命令有助于创建新的数据库和表;drop命令有助于删除数据库和表;alter命令有助于修改现有的数据库对象;truncate命令用于删除表中的所有内容;rename命令用于重命名数据库中的内容。这些是一些常见的DDL命令。
# DDL(数据定义语言,Data Definition Language)
建库、建表、设置约束等:create\drop\alter
### 1、创建数据库:
create database IF NOT EXISTS ncayu CHARACTER SET utf8;
### 2、创建表格:
use ncayu;
create table IF NOT EXISTS students(
id int,
name varchar(30),
age int
);
### 3、更改表结构(设置约束)
desc students; //查看表结构
alter table students drop column age;
alter table students add column age int;
### 4、删除表、删除数据库
drop table students;
drop database students;
基础操作
###创建数据库:
create database 数据库名;
### 显示所有的数据库:
show databases;
### 删除数据库:
drop database 数据库名;
###使用数据库:
use 数据库名;
### 创建表:
create table 表名(
字段1的名字 数据类型(长度) [not null] [primary key] [auto_increment],
字段2的名字 数据类型(长度) [default ‘默认值’]
)
### 使用表:
改字段的类型及长度: alter table 表名 modify 要改的字段的类型(长度);
改字段的名字和类型及长度: alter table 表名 change 旧字段名 新字段名 类型(长度);
添加字段:alter table 表名 add 新字段名 类型(长度);
删除字段:
Alter table 表名 drop column 字段的名字;
### 一条语句中包含多个修改操作
ALTER TABLE 表名 操作1, 操作2, ..., 操作n;
### 三句一起写:
alter table 表名 modify 要改的字段的类型(长度),change 旧字段名 新字段名 类型(长度),add 新字段名 类型(长度);
### 修改表名:
Rename table 旧表名 to 新表名;
### 设置外键:
Alter table 要设置外键的表名 add constraint 外键的名字 foreign key(关联的字段名) references 关联的表名(关联的字段名)
### 删除外键:
Alter table 要删除外键的表名 drop foreign key 外键的名字;
### 删除字段:
Alter table 表名 drop column 字段的名字;
### 删除表:
Drop table 表名;
DML:
DML(Data Manipulation Language)数据操纵语言:
适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等.
DML操作是需要手动控制事务的开启、提交(commit)和回滚的。
DML代表数据操作语言,它创建的模式(表)使用数据操作语言来填充。DDL填充表的行,每行称为Tuple。使用DML,您可以插入,修改,删除和检索表中的信息。DML命令有助于管理存储在数据库中的数据。但是,DML命令不会自动提交。因此,变化不是永久性的。因此,可以回滚操作。
一些DML命令包括insert,update,delete和select。insert命令有助于将新记录或行存储到表中;update命令有助于修改表中的现有记录;delete命令允许从表中删除某个记录或一组记录;select命令允许从一个或多个表中检索特定记录
### 插入数据:
1)所有字段都插:insert into 表名 values(字段值1,字段值2…);
2)选择相应的插入:insert into 表名(字段1,字段2) values(字段值1,字段值2…);
3)插入多行数据:insert into 表名 values(字段值1,字段值2…),(字段值1,字段值2…)…;
### INSERT语句注意事项:
向字符串类型的char、varchar、text以及日期型字段插入数据时,字段值要括于单引号中。
向自增型auto_increment字段插入数据时,建议插入NULL值,此时将向自增型字段插入下一个编号。
向默认值约束字段插入数据时,字段值可以使用default关键字,表示插入的是该字段的默认值。
插入新纪录时,需要注意表之间的外键约束关系,原则上先为主(父)表插入数据,然后再为从(子)表插入数据。
### 修改数据:
Update 表名 set 要修改的字段名1=新的值,要修改的字段名2=新的值… where 主键的字段名=要修改的值对应的主键值
### 删除数据:
删除一条:delete from 表名 where 主键的字段名=要删除的值对应的主键值
删除所有:delete from 表名
### 复制表:
Create table 新表名 like 旧表名;
### 复制表数据:
Insert into 新表名 select * from 旧表名;
要删除有关联的外键数据时:
创建外键的时候删除时设置为:set null /cascade
修改列排列位置
如果我们觉得当前列的顺序有问题的话,可以使用下边这几条语句进行修改:
### 将列设为表的第一列:
ALTER TABLE 表名 MODIFY 列名 列的类型 列的属性 FIRST;
例如:ALTER TABLE first_table MODIFY second_column1 VARCHAR(2) FIRST;
### 将列放到指定列的后边:
ALTER TABLE 表名 MODIFY 列名 列的类型 列的属性 AFTER 指定列名;
例如:ALTER TABLE first_table MODIFY second_column1 VARCHAR(2) AFTER first_column;
边栏推荐
- volatile内存语义以及实现 -volatile写和读对普通变量的影响
- Why SocialFi achievement Web3 decentralized social in the future
- C# 实现PLC的定时器
- Notes on the establishment of the company's official website (6): The public security record of the domain name is carried out and the record number is displayed at the bottom of the web page
- "A daily practice, happy water problem" 1331. Array serial number conversion
- 分布式锁以及实现方式三种
- interprocess communication
- VS QT - ui does not display newly added members (controls) || code is silent
- IDEA comment report red solution
- Web container and IIS --- Middleware penetration method 1
猜你喜欢
端口排查步骤-7680端口分析-Dosvc服务
type_traits元编程库学习
VS QT - ui does not display newly added members (controls) || code is silent
大小端模式
LeetCode每日一练 —— 138. 复制带随机指针的链表
Web container and IIS --- Middleware penetration method 1
How Zotero removes auto-generated tags
(四)递归、可变参数、访问修饰符、理解 main 方法、代码块
组件传值 provide/inject
【C语言进阶】文件操作(一)
随机推荐
顺序表的实现
IDEA common shortcut keys and plug-ins
Use of QML
The BP neural network
errno error code and meaning (Chinese)
Smartcom Programming Level 4 - Magic Academy Lesson 6
[Swift]自定义点击APP图标弹出的快捷方式
[C language] General method for finding the sum of the greatest common factor and the least common multiple of two integers m and n, the classical solution
[Paper reading] Mastering the game of Go with deep neural networks and tree search
Safety 20220709
volatile内存语义以及实现 -volatile写和读对普通变量的影响
type_traits元编程库学习
(4) Recursion, variable parameters, access modifiers, understanding main method, code block
安全20220718
IIR filter and FIR filter
Detailed explanation of TCP (2)
Safety 20220715
SIP协议标准和实现机制
Zotero如何删除自动生成的标签
VS QT - ui does not display newly added members (controls) || code is silent