在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 565664 点 威望 12 点 阅读权限 255 积分 174922 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
MySQL数据库基本操作
2 m' U% m5 w+ B) z, d
* U8 s( a; O% `# V C' d& ^: O 目录# m3 C; m8 V4 l/ E1 X/ n
" M \- ^5 G# X* {, p0 Y
一、SQL语句 (mysql 数据库中的语言)
2 x* w% `; u" q1 ?$ l3 r0 R0 j2 r 0 |& r1 j- m! U4 L
二、DDL
) G) b9 d, z* q* u0 O9 x4 R/ G
. z5 b2 b! } k G! h5 k 1.DDL语句/ ~7 g* E6 H% l( [4 X2 ]& m' J. f
/ f4 E2 G9 r8 A+ `* ]0 j: d
(1)创建新的数据库
t: B& u6 g% Q3 Q- Z4 |9 f
7 G, ~# P, g5 Z (2)创建新的表
; a; p) ~0 e o: w! c " s& _( a2 e' G6 ~, T2 w# J* H
2.删除数据库和表. F' \* M# f- l, |8 v* g
# J) J5 F- [! z- V- d& c$ f 三、DML
8 z$ `- }! ?- B
3 w, g0 k# `, V 1.insert插入新数据
( V# C0 ?1 I7 D3 }5 k1 i% q$ e
; I& E* k9 |" f: l' n 2.update更新原有数据* M9 J( G2 s' `( |
- A R' o; u; H 3.delete: 删除不需要的数据(表内容)
- N2 V6 J* e/ T$ G5 L7 A& p; w6 Q d; S: |# k6 S
四、DQL查询数据记录+ G$ b2 A3 I) s1 f8 K: m
) I$ v/ e; U" F) b7 c
四、DCL , `) h, G0 T; [
0 {% D7 b* H# G; }& R- C+ ` 1.alter 修改表名和表结构(表结构)
7 W' {+ ~+ f9 ` $ ^& a! i) V2 T, S
一、SQL语句 (mysql 数据库中的语言)& C* Q2 g- M, U- p5 h
show databases;查看数据库' |" w1 U1 X& I8 u
use "database_ name" ;进入数据库
. W% i# \1 c$ u& R, z show tables; 查看当前数据库中有哪些表
- \7 ^: ]$ l; k$ |: u select * from "table_ name";查询数据表中的所有内容8 T1 E- m; `- ~- R( x7 B7 D$ X2 G
describe "table_ name"; 查看表结构0 ~, ]5 h7 W7 c; g: l2 K& {
desc "table_ name";
9 Q, [) \, o& w/ d6 x6 } ; w" T; D6 M: H: Y1 C6 T
/ x9 K5 L9 Z6 S2 V( T% a$ d: W
; H6 k0 I& v4 R5 W
6 j7 p* }- M7 _8 p6 ~& F' h
7 Y0 h& J, b- D& l9 j% n7 L ! M5 g% F+ D0 n# G0 w
9 H5 B. p! j: N ~# k
" ?0 A" U( l7 D
) `; S, P) `, W+ v8 {
" D9 S, U1 d1 U/ m4 Y1 F$ I
- G, D" s v2 c1 w$ k6 x3 D ! I: @) W5 ]4 f' k" y% z2 j
0 L0 A2 Y4 U- @2 i% v$ z
% Q# Y6 f2 |! J- S! u9 ]! I9 X; n 类比excel表格 Q4 ] G7 y9 h- f) E2 J5 [
5 @4 E4 F0 d/ w, m u 6 z/ V$ C( n0 u6 {! {2 ^# R' q
! ?4 ?, X0 n* P0 @% l * N3 U9 H: @5 L7 @$ `0 L3 t" B
7 x/ e' W: q) ~, B' Z) W5 D/ B
3 Y) M7 R, F: r
) ~2 ]: ^9 }9 Q, l# {
4 ^' t3 l+ G! o, \, }. n3 ~5 J
$ `; J# O$ N: v 类比excel表格( l4 ?% A. a* n
! c# n( X8 i E2 N; Q
$ T5 z/ s+ u9 j5 ~; E5 J% w 4 v+ Q5 [) `& b# F
% M$ ^; }* U) }
+ V' ^( L% f+ c" F2 u) {" q. R8 Q' R
简写
6 {1 V& B" ]* }0 }
: Q) E8 }. M1 O3 ?4 a+ s% V( _ filed 字段名" v3 o# n6 P% ?) \' p
/ L! ?/ N+ Y/ j4 e
4 Q. n4 p! H8 s/ D% x+ {" ~- E - D2 M ^1 @; E: H0 E
二、DDL
7 e- _5 g- z8 V. O6 V I; X0 F 1.DDL语句
1 H( A9 i) p) L0 w* r 用于创建数据库对象(库、表、索引等)
) N6 f) D! J" g, v7 W , ?3 m) m& w0 ^
(1)创建新的数据库
$ C- v) K2 x( G! x% C create database 数据库名;" w9 \6 C* k1 w$ w$ s2 s- I, x
1 i+ n+ [- C6 t6 g8 a (2)创建新的表- n/ e3 ^/ b7 d2 A2 h6 y2 h
create table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);( \ ?. k8 I4 }5 n8 @& [0 {% ?% T g
主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。- b- h4 Y0 ?+ w$ G0 H* }# u! D: a
/ x1 i" B: E* N. i. w" S7 y create database 数据库名;
+ ^; T& m0 G' \* u9 t2 c0 V2 l* Q! N use 数据库名;6 E' X- s% g; M* m$ Q+ d" z( [4 g
create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ;
3 I5 `) c, J, q5 q9 x
) N, S/ v5 j+ S4 O1 g8 N' h/ I desc 表名;
# i( m) C$ n5 i6 q' d
/ M, T$ ~3 J/ `. ` not null 不允许为空值
0 l) f6 p9 T9 G% K . u. G0 l4 m# n$ B, P
default ' ' 默认值为空6 I! N" p$ w: X$ d, w) ~1 l. {! B2 Y
; @% F7 M4 P B0 j/ x8 M# ]7 K; ?. Z
primary key : 主键一般选择没有重复并且不为空值的字段
4 {4 W& ~% z7 z2 c k/ m$ Z# S
' Y& s) `9 e. b# i. K% E& D8 a( @6 Q 例子7 c2 ~1 s; C' d" i
create table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));
6 ^1 \1 t& X; ~; }) \. _ create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));9 f7 E1 U; R7 r, ]" r
}5 k3 B: c5 f
; o4 E+ a# W) N0 R6 R& o! _; e
4 D, t. Z2 ]6 M9 F+ n- n
4 W; h2 V& b2 B* u7 V% B% K # m8 k! F9 Q& G1 v" J
, k1 \# t% ]; U 7 X% f) s, h9 ]7 M
7 D% V9 O3 [# X" ?% Q0 B 1 b# o* C& ^6 D
2 D0 ~7 R$ Q8 j! M$ u+ Q 2.删除数据库和表
& ~8 M& G' D% M6 h6 P% ]8 e5 y7 y0 b' ] 删除指定的数据表
' E/ P6 G) M E8 i; w O # _+ z3 s, t9 a" j. h% q# t
drop 删除表内容(数据)和表结构
" P6 T1 P4 B% Q 3 D9 ?( A( F- ?
use 数据库名# M2 n9 A) L2 f! @ \7 W- N4 {) d9 `
drop table 表名
( u8 |6 j! d5 `0 ^3 |$ ^ drop table [数据库名.] 表名;" m# @& ~: Z. B7 B8 N9 b% F+ T
如不用use进入库中,则需加上数据库名+ M4 h; \# [/ |2 y: U
删除指定的数据库
7 s5 b, f2 o' P: D drop database 数据库名;, k5 |0 r* M1 N
! z9 J. E: \$ a6 a. F' o T2 c6 T
; Y% r# h! h! J2 t" Z5 a
( X# a9 v* W) ]6 ]9 W: I8 v2 {) { * G% ~ a3 u- T- o4 h7 j
+ ?- D6 d5 m( |, f3 P$ I& E ' I0 D) N! m; o+ j1 k1 p
: A2 o* \' S% V6 } / ]+ ]& e3 b# [. k9 L0 ~2 \
! z9 m* y4 r, x- M+ c% q
; [" N- x0 ~: m, V+ Z) Y8 U$ X
$ s. C* r5 [: A! i0 F
( U3 [; l/ z/ T
6 u4 }% H s4 u% h/ `9 z" |% E
& _) u5 N5 t5 M) O9 ? 1 f7 D! V3 O* H9 p' l- E2 B
1 \6 n. }1 ?6 T8 ^$ j% _" ~2 c, Y5 B
三、DML
6 T* e" N& b& }0 Z) U; E 管理表中的数据记录! n+ ?( t# p# E5 w: c [( V- W
+ x$ Q: }3 X( X0 t insert: 插入新数据
\8 Q, n3 J+ I) v! T update: 更新原有数据
& ]! _- W" |) h, e% @ delete: 删除不需要的数据" h) N7 o5 ^% X$ U# U1 _$ |+ E
1.insert插入新数据+ Y% X4 O% C4 m' f1 W% R0 U2 P
格式:
# Y8 H* e0 I2 \
3 }; ]/ K3 Q; G7 Y8 b* g/ e8 R insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);" s8 Z/ e, B1 G
& r% {9 H6 L- u' ?. \0 ]: Z- A
例子:( q5 ]" h: z1 U8 W b
insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;. j8 F( v I& ` G2 {, y M& @
4 {1 Y7 w2 ]0 y" f/ D7 J
passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。
% e, Y5 A! |7 W, L* @7 R
' y$ _. C2 T) d( p) M 密码复杂性验证
( x6 }- |" R2 e; |. @- X
9 s* C4 k( d) @7 ~. ]+ S; g- [ insert into 表名 values(2,'自定义',90.5, 654321) ;1 o9 p" w- n' G( z# B
select * from 表名 ; 查询表的数据记录, t1 D( H) G) V3 s$ n/ X$ Q
}: Q0 y8 h- V& N, |% ?! P insert插入表数据5 ?. ]* F8 k( E0 Y" V! W# G2 J
& c8 ?3 i6 s6 _; D- w, z
在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)
2 d9 E6 S9 ]" ^7 d6 V! p % c9 h" o2 x& ]% p0 V7 F. G
使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写' e& W, i) y1 ^% \- Y0 ^
6 u' l: t3 F( z; N
7 w* f$ Y; l3 x6 f! D7 L * K* O1 d* G' y( V9 }# B
( p0 {/ _3 o- O
: i, x" M" @6 L
9 E( A' M. y# y4 z
' L# G/ `' `% M* U" c) Z 2.update更新原有数据$ o ^9 a; e6 y7 U7 {
修改、更新数据表中的数据记录/ A4 ~ u" |8 u
' e" G: s+ R# S- p$ e! l% ` 格式:
- [2 Y+ _6 x8 K* \; \9 |# A update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];6 x, S8 b* s* ?# u
n7 C, p8 K& O* C* b
例子:
. q' S: l1 ]9 ] ]- X update 表名 set passwd=PASSWORD('') where name='自定义';7 A1 N& ~8 l4 K9 S0 L; ^
update 表名 set name= '自定义' , passwd='' where id=3;$ E- O* g# z+ }& R7 A( y
' X6 L# H- Y# o
) S! X6 X! s3 d) G& {9 C: i
& `$ K6 Y. D2 Q2 H R
0 q* r9 z" l0 s( M0 M5 N . R5 }$ ], A6 u# U. B+ t
( ^1 I3 S- l. D6 z+ X$ N 3.delete: 删除不需要的数据(表内容) f2 R1 b* i1 D0 q
在数据表中删除指定的数据记录(行)- ?8 Z+ o5 X8 N1 @4 v M; b, q
; K& f# U, p/ Y3 y9 H0 m: A" h
格式:.
3 z" P/ `/ N' b& C+ Z9 l, M # R9 j P( G( T% V6 V) o" b2 }
delete from 表名 [where 条件表达式];
# w" G; t8 b! J6 Z! ?- w
( _" s8 }4 v9 | 例子:
0 A" A. j/ w6 ]- P) u
/ B }! b/ @, N0 E5 U delete from 表名 where id=4;$ O# Z1 l& d& u3 p9 V% x
, p: i$ w' o9 @, {7 b9 U& a" o
. t0 Y! b! r, K( Q. _ 四、DQL查询数据记录
! O9 D! L5 n7 m( _' R: y select( e" }0 e3 V( ~; h& k* C
1 I5 a- O a* `/ \, O' Z) C 格式:
/ u. V$ X; f+ m) e3 | 5 ^- |# c8 ] I3 H+ \
seleect 字段名1,字段名2[,...] from 表名[where 条件表达式];2 n# Z( z: h& p
" u d/ k( l. |0 P/ F0 k; _0 N7 N 例子:2 r2 `* q: X% H% g4 |
seleect * from 表名;8 A( W/ U# D( r
seleect id, name from 表名;; X( v% v. L3 H- o: N- L% L% J( z( s
seleect id, name, score from 表名 where id=2;
* {) J9 Q* w% Q0 R0 Z
( n# \: ^) p6 U+ ^% R* ^ select name from 表名\G 以列表方式竖向显示( p. f# ], {1 K- b
select * from info limit 2; 只显示头3行/ P8 k, y/ M3 W8 l
select * from info limit 2,3; 显示第3行后的前3行0 m5 D2 K( ^0 |" j9 |1 Z6 a
0 Z+ c% ]: c3 W P+ w1 H
# U8 _* y- B |2 T. i
- G* W4 u) f4 M' X- [
2 H* q/ B" c9 x
/ V6 D, Y1 a3 c% X
8 e7 H: G, f9 U% y% q2 V 类比excel表格
8 j/ {$ Y0 I* X$ { - t) G P: @) n& T- l5 V
- J! y+ c! ~: v3 C - V) |1 f# A4 ^9 L3 d* c
四、DCL ' s' l& @3 z9 C: F8 u0 R6 X" F
1.alter 修改表名和表结构(表结构)% ^6 G2 q6 Y0 X9 z; B
alter table 旧表名 rename 新表名;8 e+ n' j( D$ ~. Q6 i
# ~' g" R; _5 o, } 扩展表结构(增加字段)
8 ?; k" o6 O3 O1 p& u) d6 H: Q alter table 表名 add address varchar(50) default '地址不详' ;
+ u2 ~5 s7 p# }2 i: G* p" c9 I default ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用; _; t a# q$ k/ h8 _' ~ o: p0 L
alter table 表名 add address varchar(50) not null default '地址不详' ;
4 l' a: x# H/ a/ `. S* j% T
; R h5 t$ K# }& N9 p 修改字段(列)名,添加唯一键(唯一性约束)8 o9 U) T" v2 R8 u
alter table 表名 change 旧列名 新列名 数据类型 [unique key] ;" c1 ~3 y8 w7 y* }
unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次). U1 ]! s: r. j3 `
primary key (主键) :唯一且非空- S* @; R0 R% C; _5 f4 q) C% S$ d
alter table 表名 change name user_ name varchar(10) unique key;4 i3 `! J) g* I5 R: ]6 e
change可修改字段名、数据类型、约束等所有项。
8 H( @7 p. e+ n2 @+ M4 D2 s
4 O8 [% z( z4 ? C/ N( N 删除字段
. y6 c, W+ @4 k" o0 a8 x) T& G$ w 格式:8 E: w6 V! P2 _+ K: a
alter table 表名 drop 字段名;
$ |6 T3 f; W& |& t: p . F: P( g5 v" X$ R. I& W0 F- _ Q
————————————————6 X& z7 m* q9 y9 x* \) x/ U- ^
版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
* k4 }1 o* I% S# ~! _2 Z0 P 原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177/ b' g( i1 b& }& e: t% B
/ A, f1 ^. k* Q S. ?& D
0 w, j' b/ [, I& _0 o3 g5 x
zan