在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 563346 点 威望 12 点 阅读权限 255 积分 174227 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
MySQL数据库基本操作
" Y1 j, W: p7 o2 R/ t; W9 ~% _: K( S 7 G# t3 [' |$ W7 N) C
目录: Y( \$ s( L' ^3 X0 l, ^. o) h
7 b) f0 d. g( i2 B
一、SQL语句 (mysql 数据库中的语言)
" s& J" F/ r, ~: e
* L4 T! M3 S, ]. Z/ X: H2 |; M/ ` 二、DDL8 R: Q" ~( I9 t! A C! `9 e
' f; m! z/ s; e7 ?1 W# t# k 1.DDL语句
6 O4 P+ Z, ^" r& R$ o8 T
# E3 d9 p: U# ^0 @ (1)创建新的数据库$ g. B; S* k9 ^
* I$ H, {* S& l3 ~$ D. v& |
(2)创建新的表5 v4 v% Y* X& A+ g7 Q5 [
0 E4 z2 D* K: l: J
2.删除数据库和表7 x% V4 p: R" |
5 Z% Z A7 `, _3 |* ~ 三、DML
/ M0 _) d% h7 h" q
9 z; A1 T5 a6 A+ G 1.insert插入新数据
+ B/ k7 \% D0 o( U
9 g: F% v2 G R6 U# j 2.update更新原有数据# Q* Q; H' d! y% z# t" M
: K$ c5 q4 }6 {0 S$ _' ], x 3.delete: 删除不需要的数据(表内容)
6 ^& w) y3 e4 ^ 3 S+ p8 s7 i& _. ~
四、DQL查询数据记录
% T1 h' ~2 h. a$ L* J; O2 b* a 8 V5 e7 t# a. [! Y
四、DCL $ y0 z8 o: } g J
6 U. K0 b) D/ B p$ W 1.alter 修改表名和表结构(表结构); D8 C# o* i$ Q' b3 B) g* \1 z
# x" I& w# U4 f7 m' p; |; b
一、SQL语句 (mysql 数据库中的语言)
, g: q7 ^+ J7 M% {0 [ show databases;查看数据库3 `8 b2 S: H' t+ H0 D
use "database_ name" ;进入数据库9 m' ~, z4 @/ I% y8 w7 v9 t; i
show tables; 查看当前数据库中有哪些表
# v4 T& r4 k7 e select * from "table_ name";查询数据表中的所有内容
4 E4 C: K9 D' L# j& R6 ~7 C. f describe "table_ name"; 查看表结构
! A) h6 C( A0 C7 Z0 ] desc "table_ name";4 G1 O7 Z( S7 y$ L9 m$ o) ^$ d7 h& @
: H+ z) z: V. c/ \5 i
% q! v/ t: \! ~8 @5 h
+ o! M# y. t, ~3 l" X6 C 8 C' y3 ^. f& ]. z6 |, Z. r
6 _' @3 _/ h& W
: q, |% Z: ?8 S: n8 e N2 ^3 U ( h5 ?& @' H( |- f j
Q8 Q) @, e* |
( k+ B0 y2 X8 R, N# B/ f ; N1 o. x! s# d% ]
8 ?& U9 X! |. X, N. I+ L
?; w# M# w: `8 |7 G. r
% B( \4 o9 b$ ^3 y / e- `3 i N. \; v6 y& _) x- E
类比excel表格
# n8 G/ j; f/ _5 D( k
5 v6 f& H" k" o! u0 T/ P3 o8 b, S 8 H3 Z l4 V8 E) c
\. ~' u, j. s" {
0 w8 _1 o& T6 t- x6 s6 I6 S0 V
; C& T) |; c0 m1 Q) B: D# ` & \ w8 m4 I6 o( X( \4 r
- m0 c! x; N) B# e! m
' {$ n/ ?' N( j# e% M8 e8 G2 |/ ? % W+ E+ ]8 C8 i3 D. ] @
类比excel表格
. B& Z$ {: G& y- j; j2 N% r P$ D 1 F! h+ U* G, B1 d: i
: _! @1 U7 V" y2 X! L # E8 P0 O' x0 }4 b: t5 H
9 r" i; t" h5 E. x ! `3 O; ]% t% W9 ?' n8 L1 V8 g
简写
0 K7 \ h n9 g' _! ` . v. `+ h1 T/ x) V
filed 字段名
8 L9 Y; Q4 x# a1 H0 g * t+ k$ |9 b, `2 @8 E. f1 K
5 J8 o+ n: U7 v9 g; K: h) [
" g0 e" D: T* l* P 二、DDL
[! Z3 x3 P; \! J R7 U) q 1.DDL语句% D F6 q/ o1 }: J9 j \
用于创建数据库对象(库、表、索引等)
, ?; R. j# ^/ c9 o4 b ! Y% a; t7 S7 B/ m
(1)创建新的数据库
* y9 f+ `, T. G1 e4 y% E+ n/ A create database 数据库名;
8 I# X! }; D. l$ k2 @: z8 c
g' W0 a; k2 O3 s (2)创建新的表1 e0 ?' m( M, e% |4 K, L; s4 j
create table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);
4 ^" n2 J) f- M4 a, ~6 A; @ 主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。
4 o. E* r8 R8 |- x! e- O
^6 p+ w% W1 m' W5 s5 U8 U create database 数据库名;# S @* d. P% _5 j9 w# L# j5 J
use 数据库名;. K$ H8 i7 d& _( p2 E) |6 ^
create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ;( Z6 ]3 @$ ~7 K5 Z/ _* h% V
9 {4 d. r# @# H8 F* j desc 表名;5 x; n: p4 {2 |
d% E: A9 u2 {/ e8 h
not null 不允许为空值8 c% s8 k2 n8 }2 p& t W
, b! G/ D& ?8 J! a7 F% R1 S* {
default ' ' 默认值为空
) v: w, S7 u) G- p4 ` + ^- d8 o$ A* |
primary key : 主键一般选择没有重复并且不为空值的字段
% U- m1 a* C+ T' v3 a
0 N' p" U: I- z: F; l, f 例子
3 d3 s; E! ], l/ E1 _7 V create table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));; i- F: u6 [7 j: y1 N/ l: a( @4 b
create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));
+ G. h4 J2 M; C' s 4 W; R$ x/ S% S& m" q
, ~; X* J- o; l7 m
/ A _# U5 T5 j' u
# Q) X1 E: V, m 3 B5 v: r/ u i8 N! v
! _5 j1 v6 u8 }7 V @. K0 j
; ~! Z# X8 x( i$ Z' S: m3 } / E$ V; X# }8 A+ X6 s" ~* W
0 b, ^* n/ I2 v* z8 g/ r
7 H6 h. F2 W) B. B 2.删除数据库和表
% Q# h( ?8 d a5 Z4 u 删除指定的数据表
0 C! Y j# l0 z+ j) } z0 k! H
S& p, H; ]& M6 g. S3 O1 n8 g ` drop 删除表内容(数据)和表结构# f5 B% {, h& @
# P9 C' F) ^. W% Z/ W3 \$ T, z use 数据库名* ?% h, T; `+ ?! _! y
drop table 表名 9 o9 |$ r+ D1 f! ?
drop table [数据库名.] 表名;* j h+ L% A: B" f: C
如不用use进入库中,则需加上数据库名
9 x# u: l K4 U% [; g5 J' M6 C5 y 删除指定的数据库
) {9 ^# r6 ]; R2 P; Y" S drop database 数据库名;
# R" |" n4 j- z
/ Z: F" O6 }; z4 P, a8 U9 H 2 y+ f/ O0 ]- `' H7 ~0 [* G& P0 e: R
+ i8 q& W9 I4 y+ a4 K- ~1 y
( {% y5 t# k3 F& b, O& P' z$ C2 x
* L+ N( s8 e: Z0 Q! o: `+ O
2 j6 [) y, t: n
$ u. G9 G, m0 e( d
3 A q4 o6 t% [$ R% x, [8 |5 m ( j3 D4 L0 h' l- g* E7 u5 A
; c. Q- v( V+ V
( k1 s8 _; L, f R# ^$ A 1 M; D4 s5 v- g1 H0 X, L) S. a
+ ^ Q/ b+ k* s [- i
. Z" \* ^( u0 a' z2 `3 g9 @
6 p O3 `1 ?% r5 Q7 n
, t3 u# Q. \+ ^% C' f
三、DML% o) Z; y' C: L) U+ e# m3 h
管理表中的数据记录( L) r' [3 R' R& p; }3 q+ ~( t
5 N9 U6 U) H, ~2 f
insert: 插入新数据
. G2 s* @* J W+ r4 p: I update: 更新原有数据
* S& H+ \* N, ~ delete: 删除不需要的数据% \5 C8 S1 `, J' @/ p6 p
1.insert插入新数据+ R$ f0 g7 ]/ ^. b; y' Z/ D
格式: |1 @, w, j0 W+ T( k* a3 y
; J" A5 ?0 Q% i* X8 i6 {8 I! g insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);
% y- S, `' l5 m) {4 }2 x
4 d" Z9 e- [9 P {* p 例子:
* Y( A! y5 E# }8 D) @0 u( x& W insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;8 |- h8 |: b. j, w
% X& Q4 ~7 U- [
passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。
* `& V9 L" y, a* ~
7 e" e1 n. v2 E9 Y& z! P% { 密码复杂性验证
+ R4 t8 T% R: M * K! o( A) m/ w3 F3 n
insert into 表名 values(2,'自定义',90.5, 654321) ;
( r7 z" Q) J% M select * from 表名 ; 查询表的数据记录: I" Q( Z" l. w9 ]1 Q
2 e# ~* U9 P1 Z0 g4 `) V- A
insert插入表数据
n& b4 ^5 F; h
8 s3 B$ o1 D3 c1 B( n6 M( D 在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)
}- W/ P K- ^0 w; @; k1 s, W& y4 `* b " C3 S4 L' Q, m5 Q9 v
使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写
. D# @! W* g5 v. e+ a; v! j
, f5 x# Y z; H" }8 t; Z# B
- g3 K8 d5 h; M' t2 E J: t# r: K
3 Y; [" I6 S' ?8 @0 I6 c$ J& P * Y0 x) k- q- G/ a& d( M; H# O O8 Z
+ K' U1 K" r* z `
: X* E# \2 M, r$ @
$ `- m9 q, \% r+ Q! s
2.update更新原有数据# b; P g% @( R( N1 E+ d+ p+ v" t
修改、更新数据表中的数据记录
8 { v% S9 l9 S9 I% z
: y2 N) ]" m" j4 B) I+ ` 格式:$ U; b5 ]& P# }$ o3 ]/ Y
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
* z% B$ F" Z! j9 Y6 \ * Z5 ?' e5 }; m, E
例子:
2 t; B3 T5 C6 w5 J$ t1 P8 X8 {% i update 表名 set passwd=PASSWORD('') where name='自定义';1 g- R% w& h' |. z/ r, k8 g
update 表名 set name= '自定义' , passwd='' where id=3;
6 ~+ Y7 Z. R9 k1 s1 L % U3 ?. [5 m6 o& @6 X( R
/ H2 f! {! z; ?& A) N+ ^! [8 _0 | $ }5 W7 N' F6 U% c
0 t$ t0 L" @4 L+ f
. \0 A7 ^6 `1 T. A% S) P* [. r
, J1 X* D6 P3 q+ P+ W4 U6 ~
3.delete: 删除不需要的数据(表内容)- g7 W" d5 B9 p5 }$ k
在数据表中删除指定的数据记录(行)
- _$ ^3 e, ]8 T0 E+ _
8 T* [# ~; A. {; g+ H 格式:.
7 p( g: e7 `. ]4 s
( @( O$ R* Y; b- m! N" ?3 ^! h; s delete from 表名 [where 条件表达式];9 j2 x. _# H5 J9 u% ]8 ~3 c1 k
0 t* g( I9 _) C; o; s
例子:- l7 w9 v, J' Y
& E5 O9 j7 P: l& l8 [ [7 `+ O# T
delete from 表名 where id=4;; m3 ~+ m( h5 j, O2 [# X
6 v: Q8 s2 h9 \1 J
5 N4 C. V% g5 v J( b: s% h6 P 四、DQL查询数据记录
4 ] k7 ^% N3 R, j f/ r( h; L select
5 X( T: J! Q5 H' {4 \% v
$ [$ L2 L6 \6 J/ ^: \3 r 格式:6 Y( H+ S) ]; I5 C
6 b4 V4 O( }2 q U6 I3 j seleect 字段名1,字段名2[,...] from 表名[where 条件表达式];
6 D/ J/ f# w( z7 y. P' b/ d, p 5 l: _/ o' z+ ^1 d4 G. g t# K
例子:" S; R2 j& [1 L4 W1 }+ Q/ \
seleect * from 表名;
. [/ ^- o) q$ n0 N seleect id, name from 表名;" r1 }7 r4 A3 V% T# N* ?
seleect id, name, score from 表名 where id=2;9 P4 Y1 u, r( o3 J
! p8 k9 F' L0 Y select name from 表名\G 以列表方式竖向显示
! q" I8 U. B, Y: k select * from info limit 2; 只显示头3行, P9 x# Q# b9 W$ y5 F5 w8 X
select * from info limit 2,3; 显示第3行后的前3行
( w6 l' p/ F+ s* I, l' b# Z- B
/ m% q2 w/ i8 ?6 D4 y # v$ G7 G4 ] ?; O* `! ?/ o
" }' U, f* j4 `7 O4 i3 g. M5 U " i: {% K& I- o% A
( n+ E- }- ]. v9 V/ @: n2 f
$ U! n/ n) R i" R 类比excel表格2 [4 |2 E4 w1 w0 g
: ^, F( o5 @# C$ f ^ f' u, ]
$ |. }' Z1 X8 E5 N0 s+ B' Q" _6 M
d& ^8 m, ?5 f5 [1 r* w3 Q 四、DCL
& Z7 p% y# O+ c4 Z6 D, K s 1.alter 修改表名和表结构(表结构)8 d8 j4 P0 c! H9 P i% [
alter table 旧表名 rename 新表名;1 v# _9 ^+ O+ o# L1 C/ P# U
9 m- G5 [2 ]: b+ B9 t
扩展表结构(增加字段)
; o! z" X1 r+ h A( I' M alter table 表名 add address varchar(50) default '地址不详' ;: P# h u, v5 h5 B }
default ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用" ? N* ]/ r8 x8 E9 Z& ~# F$ k
alter table 表名 add address varchar(50) not null default '地址不详' ;: O. t1 n% ^" J5 p! a9 b3 W
% q2 }2 [2 d# c& ]& y) u6 W 修改字段(列)名,添加唯一键(唯一性约束)% G8 `( F2 i. N/ J
alter table 表名 change 旧列名 新列名 数据类型 [unique key] ;
) L, k U& H3 L6 Q8 K unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)8 I( n! G4 G3 ^8 } v- G) n
primary key (主键) :唯一且非空( K7 Q3 ^* @0 d# c8 x' D
alter table 表名 change name user_ name varchar(10) unique key;
j5 i$ C& ?3 c: \6 K6 V change可修改字段名、数据类型、约束等所有项。
0 U# y- W5 }, Y% ?5 f0 l' E! |
9 c* U! N( l+ V8 p( x 删除字段
* l* A' @& y; w- L' d) b 格式:5 H$ g) P9 h5 T* U
alter table 表名 drop 字段名;. q5 f( \& p$ w/ {7 Y1 [1 t
& H5 t9 E, T" O8 c& J
————————————————
; ^5 L5 ]! V/ _6 j. B- g9 ?9 E9 B 版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
( p7 o2 u7 l' Z4 i* c6 d1 {- o 原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177
0 V: b9 ^* C4 O/ f ' h1 k; _7 O6 E- A; H& t
+ |+ B9 e, a1 \2 ?
zan