数学建模社区-数学中国
标题:
MySQL数据库基本操作
[打印本页]
作者:
杨利霞
时间:
2022-9-12 18:07
标题:
MySQL数据库基本操作
MySQL数据库基本操作
' r7 |1 }& r2 P2 D- ]
, [( a7 R) M8 j
目录
, G) e3 y6 A! S& v e
M. r2 @' \8 P/ A3 c) J
一、SQL语句 (mysql 数据库中的语言)
; ]5 u5 J& @/ o6 j6 P
% @* T1 o/ O4 G1 r& K, |7 v
二、DDL
( x$ a5 K+ c1 N8 S$ x& b7 p7 ]
: |4 M- _% e- P I2 M' A
1.DDL语句
, M4 L9 G4 L) {1 H
9 E( l: c" J k$ c
(1)创建新的数据库
! _% ?: F) Y# y$ b5 `9 \
8 I( V" A Q! |% b* z4 X7 Q
(2)创建新的表
# \6 h" m, S+ @0 R9 ^
$ N W: p# d7 V( @
2.删除数据库和表
& ]! b5 ?+ I( e" Z
/ Q. e; H- @* Y8 {! p0 H
三、DML
% B& F5 Z/ l0 _
9 K. P7 o; l8 {9 ?* f# t
1.insert插入新数据
+ b! c* @& M6 R* B7 }) }7 i8 b6 G
! t: V2 x3 z5 }- ~
2.update更新原有数据
- L# |2 R9 q, h7 y& a+ k+ \
5 ^4 Q2 d$ m: \; N# h" j2 ?8 h2 k, \
3.delete: 删除不需要的数据(表内容)
' h: q- m9 t0 ]' Y6 Z9 p; [
1 e* Z0 Q4 p) H% u5 r5 o8 f' x
四、DQL查询数据记录
% A% W4 I5 M/ k; q
L' n" z% |( l2 ?
四、DCL
7 v, A8 l$ x7 o9 x2 e
( I( W- b$ B& A- Z/ h& d1 }# D* v
1.alter 修改表名和表结构(表结构)
4 k6 N( g: d% f- \) m \; W4 c* l$ t+ w
' U. {$ V2 G- s0 T5 _
一、SQL语句 (mysql 数据库中的语言)
% S( G: t! B* H) f/ h+ I0 O/ a
show databases;查看数据库
+ `/ |4 r% a/ W, V" j( @8 }) B' e
use "database_ name" ;进入数据库
; `) t% R% u+ b1 d9 i
show tables; 查看当前数据库中有哪些表
& F4 y8 f) F' M6 ?( B9 ~( ~0 y
select * from "table_ name";查询数据表中的所有内容
, x( N$ M) k3 Q. x5 |& d/ v
describe "table_ name"; 查看表结构
5 w4 Q9 [% j' P% Q. k
desc "table_ name";
2 q5 z: ^$ V9 K6 l; Y1 |: r
E4 i% M p8 m) q6 z. s
& j4 F- L' z, E6 K( d9 r! ]
+ z+ a' A' F# w) L/ n% t7 c ^- s
3 U9 u4 l+ F* Y9 P, A
% N' I( {* F- d/ A$ [0 P
6 Z- _- `* r* \- q
2 N; ]" d" d6 i
$ @6 V& y0 ~: z h
2 M- f+ F4 ?+ E% A8 Q5 l
# d' a$ c! n% {6 _/ }; a
: {7 q' Z* h% W% O6 E2 m5 D$ ?
0 r% y/ y0 ]. Z' u4 v* I
% v3 ^4 \8 W+ p* c0 p/ Z( d: n- k
9 r6 \' @' e- T/ H, f0 v) t& L
类比excel表格
+ G' ~+ |. [" Q: d: |; N
8 `6 j* B+ Z3 A, Q" C" U
* J% V3 P) ~2 V0 y
& G- R- o2 w; W4 K
- C. ]; ?6 U) }8 r/ Y* e2 }
3 \% q2 r: k9 }
/ X$ ^& ~( Q9 U
7 E7 Q' t% m" z* Q! I4 e8 B8 G( b
0 H% R5 Y! @2 S) G2 [/ z! B
& w4 Q8 S/ Z( A+ s, J8 i/ R/ w
类比excel表格
/ S4 d( @1 h1 a! h* K) \5 L7 q
: G3 F: b# p) C+ O( u. q
7 @- O @- J. |# x
8 ?( M1 Z3 ]+ j' [/ D2 R- \
5 c. c5 n5 |# A
! O0 y" x# v2 z# _, ]* r
简写
; \* [1 I, _* f+ U! v/ V( `0 J2 ~
; L5 x! Q) J. _( Z+ J7 ?
filed 字段名
8 N4 l4 w0 g; \
0 T& z* _( k' ]5 O) j! ?
6 [6 A7 J' f9 ~1 r- ^3 \& u
6 z" w# B- L! v$ {( d
二、DDL
# H, g$ `( p5 P2 m& D7 ]
1.DDL语句
& X" L: f4 _6 B: [
用于创建数据库对象(库、表、索引等)
9 G! v& D0 I k1 q9 R/ u6 Q
# m, V% q7 D6 H: h/ d( a) ]2 d
(1)创建新的数据库
8 t' ^- p2 Z& G# F. `
create database 数据库名;
+ H: f1 ?" u3 t$ b2 U+ W
+ ?/ c4 h, c1 J9 c6 [6 Y
(2)创建新的表
1 q/ d. ]- F( g$ C
create table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);
) B! v; l8 \6 F* e
主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。
+ `9 I- d+ S0 w
# j# P. A) j) h* x
create database 数据库名;
/ j6 t0 ~* O# i( {+ K m
use 数据库名;
( ^" }3 q) s2 V7 j; ?0 ^+ N, ]
create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ;
( V& j* d. j" r: m2 v N3 D
, a9 i/ s8 @; {8 j' L' M0 |
desc 表名;
6 |% R ]3 l) g0 U
5 `, t/ h: j! @
not null 不允许为空值
2 M; h2 c [# V& c
; M$ I3 }8 M5 d; \
default ' ' 默认值为空
2 H2 O# Q6 o' [/ L% R8 u
# f1 U/ l+ Y1 u
primary key : 主键一般选择没有重复并且不为空值的字段
* b2 o# ?" ?4 B; Z
# o3 U, J+ L0 t
例子
K2 P! N5 Y4 Z- B
create table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));
: s, P. ^4 `3 `0 P! n1 N& E
create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));
( J. W0 a& L) B- q) n" {* g
- G2 t% P$ n4 W7 U
1 i! o# g7 O' N0 A: Q$ a2 a
; u3 |0 `8 {# P+ D
5 Z: J* Q6 a. c9 ]1 d6 n& A7 D# n
+ \% v# i! D% N2 K; I
! Y, Y- R) J: o! ~2 B6 H
' h8 E- C2 e& h8 Z
$ y& n |+ N% A5 C7 X0 ]$ Y" b) \
8 Q# x9 K) X7 |
2 G& H9 O! z3 F/ A) I& U6 V
2.删除数据库和表
) r' L( G0 C r( j" s7 b8 N& z; k
删除指定的数据表
2 x. C- T' R. z" z
J7 H: j0 b; S9 j* w0 U
drop 删除表内容(数据)和表结构
; X( \1 a. P- y3 ]8 ]: \
: _- _6 c4 u1 u7 E$ q
use 数据库名
# ]% f- z; v7 `( B% v* Y! S
drop table 表名
: T1 K' i% ~7 G; L2 G5 `
drop table [数据库名.] 表名;
! G* c' c8 }; a9 A# o' o& ^; k
如不用use进入库中,则需加上数据库名
2 H5 o2 c2 ^) I! J7 @ ]) z
删除指定的数据库
! N$ z/ F6 l& j- y1 j- Y: P
drop database 数据库名;
- [! v _1 Y7 p% h7 W* `/ l
! t; N7 J$ }! P- f+ D3 a
$ Z2 s4 f' b9 m/ A) e" W0 {, I5 G5 R
4 g$ m! {$ X) g( P3 g+ i
7 g- n$ ~: i* r$ U% Q
) H) F. Z# X& \- k) K+ f
! m0 t# P6 {0 R2 y
" y* ?9 ]- @& \. A; W
4 n- W3 B \; @# q8 b( t
, H& j9 m5 C" W( e2 F
7 m% I) B( @0 ?9 r; Q- |! h4 i' J
5 k( R6 A: W# w
4 S7 d! b/ `% r. ~
0 E; L/ C. [9 n0 {0 C% D
/ y; { f8 ]# Y
. O! F6 }6 c: Z+ u U7 G; J
0 \. b2 \ F. o8 R# \9 l3 }
三、DML
3 j- c# L. o l% j, n9 o
管理表中的数据记录
) m; Q P e' R3 n5 `
$ |, f" y5 @1 P1 B. V6 q
insert: 插入新数据
8 H0 L) K; d& h( w" u
update: 更新原有数据
7 J% P: F( \" q0 D% y% o9 @
delete: 删除不需要的数据
5 R% P! `5 o5 j' v) r
1.insert插入新数据
( b4 d [( R8 }5 Q; q! ^
格式:
& l# a0 r1 j; Q# F' [! l9 h* t
$ ?1 q B) E; d2 J9 b/ R0 b
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);
: B: t9 r0 v9 F# l# z
- z1 q1 g& ]/ Y) ?& f) P! j
例子:
' b1 U" o) F8 s) J1 w+ G
insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;
. _0 x! e3 W* a: g
' _) w( U- H: G4 R' Y% {, W) c
passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。
- x( U( q4 p: F
$ m, A3 y: M8 B6 _2 \( ?! u! d
密码复杂性验证
( W; i/ A8 k1 n+ o
! u' b5 t: |4 Z. D0 w
insert into 表名 values(2,'自定义',90.5, 654321) ;
0 Y B [8 _! @, {# b
select * from 表名 ; 查询表的数据记录
& }; ]7 M8 }6 N% V
+ B/ A0 a8 ~. ]1 H
insert插入表数据
E$ g1 m5 e2 C) Q; h! x
& q& f, S, T1 f4 G# ?- u/ R' ~
在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)
: D/ X8 y1 s+ X
& i9 p8 B' C% s: Y+ ~: u; u5 l' a
使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写
1 W: L+ ~4 v! O- r
: o" W; Y7 p# u( |4 ]) A: o8 C
& Y0 q7 i4 x4 K. G1 t) f! T" A
/ z2 T. K6 x$ }
, M- F4 Q" j7 k I8 l' @* w- {
. x Z$ n& L' C/ f9 I
2 j! r3 I! v. _7 x9 _* p
1 G6 I5 B. M* \6 A; ]! E. u
2.update更新原有数据
; v% L) r% K0 I" }5 P0 A
修改、更新数据表中的数据记录
2 P% y9 `# f+ U$ \+ }2 s
4 E. g9 J% {/ c, \
格式:
+ p* o, B) b( C2 {5 W
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
7 U4 \: n d V! _; Y& M6 h
2 B: Y9 l; i% ^4 ~+ Y# z
例子:
" \9 P; B+ m4 z8 x3 V' Y6 M+ I* r
update 表名 set passwd=PASSWORD('') where name='自定义';
U9 k6 E& \& G7 R; [" A- x' z
update 表名 set name= '自定义' , passwd='' where id=3;
/ X& G" s7 ?- B) M" M1 \9 P
1 |2 L" w3 d# n; m! {9 N
. P, M! N* @" |3 b: a
4 I& h# ?, L7 q' r# K6 H
; y3 @: B; \ K" G
( z' Z/ T7 {1 W+ y- o/ m2 a
1 F- |7 |% A* i( k5 i
3.delete: 删除不需要的数据(表内容)
2 T; l+ L4 J5 e0 S
在数据表中删除指定的数据记录(行)
4 Q& f0 w' I/ Q { W
1 }4 @* K0 l! J+ E1 n" B
格式:.
, T" G6 {, E3 f1 T
4 P3 i6 ?# y6 s
delete from 表名 [where 条件表达式];
' n, I. S7 l8 @# ^( K8 k$ ?" v
( `7 S# M' O* ]6 q- c: V; R R
例子:
K9 S; Q& f# Z& k
" k) ]6 ~6 Q5 Q' |
delete from 表名 where id=4;
3 M# J: u- E" n: G9 Z
$ p& U% U5 X2 N3 _
. g% c5 d0 i7 o" A: T7 F
四、DQL查询数据记录
% J$ @* C1 C: E: ~) d: t! g! d
select
1 r& W: s1 t1 o5 I% Z6 l( }3 z$ k. M
2 q% o& K5 x' C
格式:
$ O2 i) X+ I6 D7 t7 e" x! a
5 s7 E8 i" _4 }
seleect 字段名1,字段名2[,...] from 表名[where 条件表达式];
0 \- |1 u; j' ?* a; K8 n
* l" I5 \8 J6 `. Q; k% T
例子:
3 @$ |2 x/ r- F/ \( y
seleect * from 表名;
# Q6 G9 V: D) X0 |, J* `0 M
seleect id, name from 表名;
; Z/ N+ s' a/ W0 J
seleect id, name, score from 表名 where id=2;
0 a1 I6 Q0 G1 Y7 m& y
# e1 ^, {4 y1 H; P P K, C
select name from 表名\G 以列表方式竖向显示
9 P0 A0 \3 A- D8 u% o: q6 b$ u
select * from info limit 2; 只显示头3行
) W3 h7 g! J! h% ~; [
select * from info limit 2,3; 显示第3行后的前3行
5 A8 P O/ l9 B6 C R8 l; `( n
1 h4 T4 b$ V" K6 H0 P$ n
" @) U ~2 q. U# |) Z" a
% e; @4 Y* j0 z( m5 L1 @
, x2 I. v {+ N* R# S
9 C) z7 E) E5 A: i. W( u6 e1 j
V& T) O m7 k9 ? ^" K i: s! M
类比excel表格
9 m' w% d# q+ |2 t4 n. ^$ o
4 h% M8 @8 O. K; {. W; [6 a
' o& m8 |/ Q6 y" _/ o/ R; G2 ]
8 J$ Z1 v6 B! O
四、DCL
* _! W- w, L$ a/ {1 s
1.alter 修改表名和表结构(表结构)
3 b& L# a0 J ^. M
alter table 旧表名 rename 新表名;
; G1 p1 x9 Q7 ~8 u1 i' K) b% Q9 |
# E" y! ~6 [: e$ z" @
扩展表结构(增加字段)
: h0 s; r1 x6 J' d, R. E- W
alter table 表名 add address varchar(50) default '地址不详' ;
6 i" P! |* \- f8 W( P
default ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用
0 E$ J( W6 ^7 V
alter table 表名 add address varchar(50) not null default '地址不详' ;
5 O( H5 z# c, F/ Z k7 c
0 m* P- j3 p' F' a
修改字段(列)名,添加唯一键(唯一性约束)
2 D! e; x3 w8 }6 z8 z% `
alter table 表名 change 旧列名 新列名 数据类型 [unique key] ;
: T4 M, L. V2 D: \/ b$ R
unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)
2 W1 }6 i; q. O: G6 R0 Q. v9 n
primary key (主键) :唯一且非空
, z" p/ X* X! R1 N6 p' z* O: s7 j
alter table 表名 change name user_ name varchar(10) unique key;
! V9 q3 } ?1 i F
change可修改字段名、数据类型、约束等所有项。
J3 ^! J# w( d6 Z# C6 j1 w
% S6 ^5 ]% Z( P6 l7 {, `
删除字段
1 Y) Q0 y7 }. n+ I
格式:
9 j. W% `0 s Z8 u L
alter table 表名 drop 字段名;
7 g1 C; n! G- c; I# I. n
; u3 M `" Y( d4 x% r# F
————————————————
/ a' f: e: k- F( k
版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
% w7 F& i1 {1 R8 ]; m
原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177
b+ q7 `( z2 ?
, ^' c- B& N0 c( z+ I6 _
, r% c" j5 L5 M9 D: J
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5