- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 569616 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 176108
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
MySQL数据库基本操作4 X( ]4 t' {+ @. L0 F& G
. e8 R. I) [: G' Q目录. w! c0 A+ Z( C# N, T* m v
5 O. q U8 j* d, [8 Y* A一、SQL语句 (mysql 数据库中的语言)1 ^; g E+ k% e' E! j) N4 `9 |. q
a$ P/ Z) W6 Z O: r( [
二、DDL/ }6 L' K2 f3 ], L9 \" y) W* p {
+ c: u; @. L$ R& U- e1.DDL语句# ~0 ^3 o! F3 @: [, e- x& x) {/ D( V
( ^! }( E B2 ]! h$ [2 n! C
(1)创建新的数据库
% l H8 S* f( T- G0 ~* H+ ~; Z! ^5 g+ n) ~8 H6 n2 k* g
(2)创建新的表
' e" r0 G! w& [* s9 o/ F% R
* u; N' X. y0 c- ~* ~ 2.删除数据库和表
( N9 w/ M; I/ Y# p e# W" j) \- Q) z, a, W* J, w+ q
三、DML
: [& w6 i' E, C$ E
5 f& h! j1 H/ [0 ]8 c( G1.insert插入新数据! Y j) V8 l) A, |0 D' s& F
4 S8 v, X7 m0 g$ ?! r9 D2.update更新原有数据
- l' ]3 a& f$ v- j$ z( L& u/ ~/ L) y$ ^) R
3.delete: 删除不需要的数据(表内容): N! z0 t3 s" F: {6 `( p: h+ K
9 v3 S( T1 A+ J7 t# C% p
四、DQL查询数据记录
: F/ i/ L. Y5 [' {2 Z8 S$ v* d. w8 V) h
四、DCL * a; s3 T) [8 T2 @7 U5 Q
) n& j4 c( m8 b, V* h4 v9 O Q8 G
1.alter 修改表名和表结构(表结构)
8 u( Z5 U$ u1 Q j1 i( t
! i' a; m; o! ]# ?6 G# ]2 \一、SQL语句 (mysql 数据库中的语言)- q- w0 `; V. _0 I8 b5 V
show databases;查看数据库: t& t) _! @0 G2 \* W8 q
use "database_ name" ;进入数据库
. v' _" T; m) V( g6 d) |show tables; 查看当前数据库中有哪些表% C. G# \% C6 G' Z9 z
select * from "table_ name";查询数据表中的所有内容
2 i- u! U# ~9 b. h# ^! ?8 Ldescribe "table_ name"; 查看表结构
`" v! C# H; x8 Odesc "table_ name";
! L1 ^1 B2 s; s8 C2 j
1 X" |( Y- A; K$ ]7 Q6 u/ v$ B& N0 P, k6 ]. w
7 w" U4 K2 v, ~0 b
- J3 A6 D b. L* Y, D+ M2 w- T% v! d
1 ^7 Y1 B1 r1 C( ?8 O4 ?+ [; @9 C! E7 ?# M# S: v* w6 g
9 X$ m' ?0 @6 h# H" p/ d Z) ?! }
- d7 }5 I& K, R) p1 r0 s3 h3 n
3 B" W; u6 x7 m4 s7 P+ R
! I5 d M8 \, O% b
0 P; V+ `/ [" j5 o* K+ m
! ?* t# s$ Z* B/ X9 Q0 {, P6 r* V. D& }' l$ w$ k, ^) P
类比excel表格
; q2 L2 X: b j, {$ ?6 E ], @
0 W7 h3 z5 y B/ {( X. s; y4 l! [: X$ o0 E
6 ~! E4 t6 c9 `! F. w* p2 K! o
) m2 E% I5 |$ _) z8 q' j
: O& b, ?* k" O) M8 N' Z, y. s
0 ~% o0 P& {/ B0 h2 v3 f7 _' j
6 W I/ e" \" \3 c8 q2 X6 l+ Q6 I1 e5 w" ?! t3 b( T/ v1 m: U7 }
) t& J- S* D, C) w" y 类比excel表格1 Z0 ]; I9 c8 _$ J
4 ^% @3 t! B5 [7 Y/ ^. r5 v; {) w
1 O" Q) L8 _( Y! g6 k$ H& ~! q: k* A, i# q
, t. x3 N! {8 Y o% ~" B9 W4 ]5 ]% J: E% f0 g( |" p9 F: h7 G
简写
6 C) A( ]# C$ a7 J
; z; |3 l2 B8 ]- P2 S$ Jfiled 字段名$ `5 l% j. l2 {2 ]5 F
: h9 H& ]. r) E: |0 s3 y+ ~) l: t; q3 p! V4 P6 | H, y
3 u- |* ?7 ^2 A- e0 l$ k
二、DDL
$ |5 W; c, E0 ~' T0 V1.DDL语句
9 y! N: V8 R# q$ Z I* X9 t/ o用于创建数据库对象(库、表、索引等)
' e! r$ @7 @% _* v9 `8 \2 s& y- b; A" q9 w& M& N* M( E5 c
(1)创建新的数据库
, W$ w5 t1 T* a* m' U( W& Ocreate database 数据库名;, R1 i8 Y. w: k- w8 v
# ]; s# n! u# b9 o2 q3 `0 B3 [
(2)创建新的表
* z h% ?; N' o- |create table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);' `- f2 s3 f2 V
主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。- M) P6 n" h2 \. G0 G; r
6 g1 Q. P* S. c3 r9 Xcreate database 数据库名;) a& l% [- m- s/ |) p v2 S# G% J+ ?
use 数据库名;# ]+ ?. s6 t: v7 X( c s
create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ;
6 W+ J7 z4 E- b# j% x+ L
4 [7 J) E( C& G bdesc 表名;
- W9 Q0 W( J8 r* Z: ]* n, r% S# [' Z# x2 Q
not null 不允许为空值
$ O' E( ]1 e1 }0 R: R7 G2 F5 l8 h
; i* J( s% d) M5 ~. m9 M7 D* Pdefault ' ' 默认值为空
! E: T0 P( C# d7 F- m
: |: D: I4 p- s7 R, N" A$ ^primary key : 主键一般选择没有重复并且不为空值的字段: n3 @6 Y. H q( t& c# a
2 a; g2 w: O6 I4 H
例子
, e7 k: A+ s$ q- T5 ]" vcreate table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));
: N7 w1 j' r2 ?. W Z4 Screate table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));
4 k6 Q( p% o8 G% _5 u+ w6 F& H2 l; Y0 g0 v: ]
( {1 l3 h; d5 }# X- @; L
/ V& W; o1 r2 z5 @9 @1 O; I0 d6 @3 W8 \
# ^+ r% u/ y9 r2 r
! |/ S) h0 M# ^
1 [" s, _( \. a* Q4 R" V8 @9 Y
; ^; n. ^( q( L9 ]; B
- t9 z0 X$ s1 Q% T
" S3 C8 f! a O8 F( I k
2.删除数据库和表
" [% e; y# [- u" o删除指定的数据表1 y* s4 M5 H( r) ?
/ s# }# l5 ^* O) S7 z
drop 删除表内容(数据)和表结构* A) x0 v! [, |" B# L! L, g' v/ \
+ q. X, n4 [0 @7 o& K; v
use 数据库名0 ?- c0 M" T! k: a$ ?
drop table 表名
9 |7 U7 L8 C n0 W y. x! C5 \drop table [数据库名.] 表名;
+ u% [. e5 \( o; S% q如不用use进入库中,则需加上数据库名" z, x p0 s* g/ {
删除指定的数据库
4 m: \' D# N0 }) u$ H& X8 {drop database 数据库名;
+ _8 R; p0 U; v) H/ v& k$ A, |
0 G& [8 o$ Y; _, j5 x
2 W% M) c5 _4 b# H5 t4 a
+ h+ _1 L. C: T, V1 O4 u8 A B' e6 d! K3 R% \; ~
. i4 o2 u* M G5 M% y
r; w4 h) h3 w- ?# D
$ D7 `" ~# I5 D5 W) d, V8 |7 u: T% D& m
/ o# h# c9 G; k- f. r! a* L, P# @+ `* s& }/ G3 Y1 S- Y8 W# O
4 D! o% v, E* ?8 Z2 G% @
; j8 b1 i9 V0 g* [, e- }$ P) H: }; Y3 t2 e
) l6 r6 J1 I/ D* _, `7 @3 Q0 `: j% s h0 t+ b
# j0 \) @% B4 Y 三、DML
4 f; z( y& D6 g$ S$ b9 ~管理表中的数据记录
/ ~& Z' n, M5 i/ x
& B4 E! q2 c- n; q5 pinsert: 插入新数据* w! ~2 w% D. _6 D2 A
update: 更新原有数据
4 N) {3 E" c- W0 {: I' _5 c/ [& Ldelete: 删除不需要的数据
! |' Y# U# x4 G5 ]9 \9 J' j4 ^( r& w1.insert插入新数据
3 E2 @ W- _ U; U格式:/ ^. F- V$ k( r% o7 d- a
; h, I4 D: y2 ~$ ^- K% Uinsert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);
' j0 J) }! ~- K- n& x: {# v( A( T& W: n
例子:: c# J0 f% x4 j @* ^
insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;/ _. c; F! L. G7 `9 i
+ l4 W: ~9 C: K' J4 f Z
passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。7 U9 r1 r& R; G6 v; r
v9 F+ `$ A5 |$ z% P+ f! }6 ~
密码复杂性验证. u* R7 O7 V# d2 }
( O2 g: ~0 h( c. G+ l- pinsert into 表名 values(2,'自定义',90.5, 654321) ;
8 |3 ~0 I7 R# Yselect * from 表名 ; 查询表的数据记录! [. ]) e- D' l$ N9 X {
! n# t0 N% c, ~$ k) Rinsert插入表数据
; I" H. }. H7 N2 n6 ]' z# l- ?# f. K" Y4 ^
在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)4 d/ Z6 S6 O" P+ }) X) O8 d
" [# I2 e- ^" t& ?; |. x. S使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写2 Q0 e9 T4 b( y0 {7 q
( h( m# Q" Y% o2 }* h3 [' ?- c/ e% p* n1 ^
2 E5 N; D3 `3 s# u, {) l4 L0 d, t3 g$ u I5 _& q3 [
+ x* N ?2 u- s0 G
$ l8 l: d" m0 s
/ L8 u! p6 |' I% o, r6 @, s* z2.update更新原有数据5 j6 }' \2 X2 L- Z4 ^- N4 L+ L# W* f
修改、更新数据表中的数据记录
& H1 |5 w1 W8 L0 D& {2 r# c+ n4 J2 J% R- N6 p, p2 V6 ^; p
格式:
, J2 t$ v7 Y6 Dupdate 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];" ~2 p+ u2 T3 n6 b
. r* `6 a: b# ^1 z; V
例子:
4 w; y# \; T( r% q/ u9 {# Jupdate 表名 set passwd=PASSWORD('') where name='自定义';
% R2 P1 }! z+ S7 L; i( gupdate 表名 set name= '自定义' , passwd='' where id=3;
+ H$ G$ V# m1 v' C8 ^2 R u5 B: A L( {7 w1 ^6 {
% k$ b) D) i* Y A
' C( `' B2 t( Z- k- C
1 W$ ]3 G& n) K
1 {; v0 J; I% m! c- O9 B; Q1 M1 r5 D; T
3.delete: 删除不需要的数据(表内容)5 V' S3 K7 z7 r7 f( T3 y$ J( [
在数据表中删除指定的数据记录(行)) Z; Y6 ^3 }& L* A3 a
, g X: {! C' `# x: Y
格式:.
2 u, ~* O; Z/ l% B! |0 G
1 u1 D+ t, X G; c8 Tdelete from 表名 [where 条件表达式];
% R& Z, j6 l8 e; ^. |
7 Q$ G- T1 F- o# ?3 k8 t6 q例子:
+ B( L q! ?+ z3 a- K5 p. ]# Q
) Z) S4 S G0 @* f3 U3 k5 E$ o( |delete from 表名 where id=4;
! `6 @0 B$ t! [4 I" p
5 {# L8 Y! o: I7 G
' y) K. ]7 [8 _四、DQL查询数据记录
4 b( j5 }/ u/ k. o! Gselect8 @, s) |% ~3 e9 {0 h4 J) G
* D; X; P( ~- T P$ k5 e. B格式:! |/ Q/ w/ m9 f. L/ ~
( m. ? E$ }+ a1 { k' A
seleect 字段名1,字段名2[,...] from 表名[where 条件表达式];9 S% o* g" o1 J/ C
# u8 @$ W; ~' n9 _" ]0 o7 Y
例子:
' V4 M5 v3 n( p/ n4 ?7 eseleect * from 表名;( y6 ^- t! B! m: |, X: U; U ]! L# s
seleect id, name from 表名;
/ k; }! k* Y4 X) L$ B5 o) M# o! lseleect id, name, score from 表名 where id=2;
: V- P$ N; L4 S$ H- c1 N7 m" k7 U5 w' ? K: U
select name from 表名\G 以列表方式竖向显示$ ?3 B" z# N3 w1 \# D( }% d- @1 L! }
select * from info limit 2; 只显示头3行( o4 O+ U( `8 X2 J
select * from info limit 2,3; 显示第3行后的前3行
1 S" P$ _) [) d. `6 w/ d+ K( E5 P: e B. A. _
4 K0 m& T7 t5 t* I6 H
& |% H# S9 P% J
5 x) b3 L6 D, W) h) X2 P5 M$ D4 [3 u4 Q4 G# P0 c2 M" `
/ u4 L Z' S7 I1 c6 c- W
类比excel表格
& I! O$ C3 E" o6 T
6 n3 {# Z$ h1 k, u4 A4 H8 G& y
( n4 ]- P' }. c+ y: S0 |0 e0 _3 J4 C9 m0 Y d1 Q. b
四、DCL
n+ k- a; z% F1.alter 修改表名和表结构(表结构)
0 h+ V4 u, K; Z+ T, i6 C' \alter table 旧表名 rename 新表名;
3 b3 c3 w' b& O& Q( z# ^
+ B9 X& e- E i( L1 m& ?: E0 V" M扩展表结构(增加字段)
/ ], l5 f6 v( Ralter table 表名 add address varchar(50) default '地址不详' ;9 }/ C0 ] S+ X+ `5 L- h
default ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用
( Y6 f7 ?5 e8 L6 ^. s* Q: u$ walter table 表名 add address varchar(50) not null default '地址不详' ;( {/ H. M6 ^, c# z0 \" B _ G
_: T7 p0 f/ k4 l$ {) O& }, c修改字段(列)名,添加唯一键(唯一性约束)
, I6 v$ i6 ?+ _. ?5 G/ h$ q( nalter table 表名 change 旧列名 新列名 数据类型 [unique key] ; f8 e. A. V6 {7 P
unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)4 B! j2 x, A+ k; ^( V& R% n3 o$ e
primary key (主键) :唯一且非空
) Y s( V( z) z" Valter table 表名 change name user_ name varchar(10) unique key;8 ?, I, G" c( t6 T- W% L
change可修改字段名、数据类型、约束等所有项。6 C; n) o) {9 @% j
6 ^- _- n4 c- s$ r1 B, ?删除字段
/ X/ s7 m) q3 [8 M格式:7 T! H. K' v6 F: K- c$ p% F h# J
alter table 表名 drop 字段名;$ W( q1 l3 n* G( `
5 E# V8 A! J( w- p1 f. D————————————————6 J! M( F3 E; X* C2 {9 a- j
版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。4 {* \% j* Y# A. b- ]
原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177
9 @8 E1 h {! n7 }1 Y! j; Z) \* h V3 _6 R. a4 O" \
( G9 F+ y& b4 ^: {' i }
|
zan
|