在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 564676 点 威望 12 点 阅读权限 255 积分 174626 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
MySQL数据库基本操作
) J0 e, Q0 g1 ]/ `2 V w$ M! @ # I8 C1 q- a. J! Y0 @" b0 ~' S
目录
9 u% Q# |/ A. h8 c' r. z
! o+ A0 ~! P& r9 m& v9 j% I 一、SQL语句 (mysql 数据库中的语言)! j) \8 w- g% B. @
8 g8 w/ S0 |2 a% Z8 S 二、DDL
+ l9 |0 r% L/ h# X! d+ u- _# @ 0 b6 E! q! O& H$ X" q8 O R- @" D3 i
1.DDL语句; {* S$ l$ I* \% g2 N
2 S$ _0 A2 |. }0 K# a
(1)创建新的数据库
. g: z) S/ |9 S+ U1 i4 p5 _% H: m% }
7 X8 d* R* o! y* ~ (2)创建新的表4 C% y$ p* n3 z- d3 M
" D$ x, x; f7 `3 a) H/ @7 }
2.删除数据库和表
2 c; N8 k6 J4 F / v- j# J2 M3 e& z7 L
三、DML$ R) d" R. ]2 }9 q; j
" B; b4 @. n. z( n/ s3 E; W: g/ d 1.insert插入新数据
# ]7 ?6 a7 N4 f
6 N) a l0 ?4 {5 U 2.update更新原有数据% Q% |4 h! I) _
* ?+ e: s* t8 n7 I' ~7 n
3.delete: 删除不需要的数据(表内容)
3 B' h0 }- {; W* T / X: ^+ ` I5 s! i
四、DQL查询数据记录
' D" }% ]8 m( u P- M/ Q3 { % F# a( J2 m) N0 V" R9 c2 `
四、DCL . g; i; w1 M1 r0 p) Q
# @! h3 f$ v) E; @! b! c2 c 1.alter 修改表名和表结构(表结构)
4 V9 v: [, [- y8 {+ Z9 Q# t& v8 c! f
3 A0 s7 j+ M) B 一、SQL语句 (mysql 数据库中的语言)! f7 S9 a" Q" K ~. l) |
show databases;查看数据库
l+ _8 d# @1 { use "database_ name" ;进入数据库
# b* {) d D! [, B! Y7 K; `' X show tables; 查看当前数据库中有哪些表: D6 R, p, F7 i7 n
select * from "table_ name";查询数据表中的所有内容
7 k/ P3 h$ o1 S6 }% o+ q6 @ describe "table_ name"; 查看表结构1 ^6 e0 i; u7 I- J8 B& _
desc "table_ name";* P/ n' \, y1 r3 e" m: v+ P/ i' X. d
8 B j3 S( M7 { r @ 8 R' x2 x) p) m2 Y9 c4 i. e
( r: ~* s# v1 f- Z- @2 j7 J$ E: ^
! j0 _! a$ l& R3 P& h3 y$ Y ! C4 o# L( L/ d0 U# [
, t ~6 [! h1 T4 ~* } , f* A" l! J" H/ a2 b! d
; p0 p7 P# m" x % p, t) o7 N( q3 q$ ?
5 i: q% k t2 h% t. I1 b
. C; T- i5 k* z) z
) U7 N* q4 q3 c% X4 @3 g* i7 x5 E
( W9 n9 _, C0 n5 W# t6 c! _% [- R
! U- w b3 ^. b/ \) S 类比excel表格
9 q8 R9 u( t& Q4 I! ?3 ~9 { . \+ [/ t" T) z$ E& T% \# w
, O9 e5 _8 m% d1 S/ X c( t' l, J; U: Z1 L7 o& ~" t
% p M4 h5 S/ y3 E5 a
4 Y+ c$ d. i/ r8 M3 W1 E ) }' o/ ~) t7 S( W9 x
) i4 j6 X3 z4 B* {3 Q8 a 1 U, Y; O5 `- I+ F6 x" Y1 ]3 X
9 N6 X* c& V( N' W; P) O
类比excel表格
9 n! [ f9 H8 I9 }) ~" { 4 q0 |2 p/ e c3 i1 e
' j0 ^! |* Y: F. ^; D, O- h
) ^. @- A4 x. X
. a% {& L; k' i4 h* i- N
g0 Q7 ]+ d% {! [ 简写
q; Y! E# I6 x4 [9 ^9 I/ q
5 g( H3 N7 M& e3 d& i7 _! {9 e filed 字段名9 ^; U1 F% \- Z6 h- P
3 F7 a3 l/ ?- [% C- f" b6 [
: h4 n! S) U- H " p9 e! l) ~) s5 W6 j
二、DDL6 K- \0 w+ R! B4 _
1.DDL语句5 a- a& U$ k. D- [5 U
用于创建数据库对象(库、表、索引等)5 R7 M$ i4 _7 \
3 H: W9 [8 d) ? (1)创建新的数据库+ ?4 y& {# l y/ l* W0 u' c
create database 数据库名;
+ I9 H3 Z) |9 y6 E/ |5 p7 Q
$ w) Z4 u7 L8 p& T (2)创建新的表: v) ^, u$ C- A0 m5 w% T& h
create table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);
1 r* K) L. _/ { 主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。8 h+ X8 S. _ N* ~8 h
# S% z0 D2 }. R5 n' V create database 数据库名;
9 y t1 a; }, @+ X2 t use 数据库名;$ O1 s$ |& S- i7 A- U& H' z! ? ?
create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ;
% U% e0 x( J' x" M1 I
4 I) F) {. u B) G( n! n desc 表名;7 l' `2 o- s. F' e* t
" D) ?9 ?" u# R$ E8 Y# F& W
not null 不允许为空值
# u; k4 T6 d8 q5 `/ z8 V+ r. L8 K
. l2 O2 W3 H9 i* p. h* g: q default ' ' 默认值为空
! }, L! i: G* Y& r( P( Z$ H+ U/ e $ E4 B: R7 h$ E8 p0 r5 [
primary key : 主键一般选择没有重复并且不为空值的字段' J8 E4 F( B0 d5 S8 j; j
, y% \* Z! z4 c9 F+ l
例子3 R7 ~# u2 Q+ d% c
create table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));
% _/ J; }, ?9 f" E- W create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));
7 P7 Z0 C7 W4 U R% b " d5 Q) p+ i, u1 q: Z0 g0 O7 a$ g
6 R7 d' k5 E/ T7 Y q
1 b# ?& j4 E2 m$ t* g w& q+ i
" ~ n7 I( F& k7 c& o3 a3 H 6 t0 |8 _; S; h$ w) J, ]& G" W
6 w Y, x! K6 M: g- Y' X) I( _ 1 D2 f" S ]$ ^) U8 v7 Q
, G: ~5 r& p+ m [5 T+ `1 @/ @3 b
1 U9 p2 s0 l6 W j8 H 2.删除数据库和表
' t3 F' C0 v7 l# }+ B" |, ? 删除指定的数据表
# Y. O3 I, [5 H: A# w
# b( w2 d1 w3 {/ T7 O" f; R drop 删除表内容(数据)和表结构
) b: B/ y, I6 [! D9 h / y* R! L! x1 u4 Q
use 数据库名1 L+ H5 ]! w; o3 f. l4 y f
drop table 表名
; I3 ?* P) g9 F9 W drop table [数据库名.] 表名;
& j) F4 I S9 S9 I7 a9 j; } 如不用use进入库中,则需加上数据库名
. [$ M4 y8 y" `4 p+ d* J 删除指定的数据库
! E1 s+ }; b, l) b$ ]0 g drop database 数据库名;. b1 \% c4 w' k; q6 T E
* c& e$ q( p/ d) ^8 O. U' k3 L: w 0 Z# ^* J% S3 ], A- ^
5 V( y0 T' i' ? z; q; z 3 x- b1 i. s; `/ G$ j2 s3 H Q; Q
8 t# N- q ]( O" |0 h1 F ) b' z( }, R F8 w4 w$ l) H
9 \$ _" Q5 p" H. T; t
8 j5 G/ z: Z6 v 3 l9 T6 v3 I" h( Z! H5 \
7 p" W6 E2 w5 Z, j! D5 o' x2 l" e5 z8 ? ) l! g; W0 L" @& k( R+ F
% K5 T E- o- G
& b8 r8 d7 B; L
~2 }5 m; t) c
0 k/ ]( E4 f/ t( X7 Z; b9 @) e! c& h
: W" \ T( k/ G( j 三、DML# m* ]% y& Y3 f- }4 B
管理表中的数据记录1 J3 N8 r" t1 N" V9 c- [
4 A6 d F- q+ O s% r6 n8 A& }7 ]2 n
insert: 插入新数据% r1 m% e3 G8 Z/ v. V
update: 更新原有数据
- {/ Q+ o( D9 {7 k3 b5 O delete: 删除不需要的数据
$ M0 `3 }% q" K# B9 [8 | 1.insert插入新数据
' W+ b2 R" X3 Y4 o; U2 L 格式:* |, S% L: e) [& S
* Q% H# C1 P r5 X+ E
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);/ K. `, }' g. p: p
, [! L) [3 k3 I1 z& U! Z$ Z 例子:3 Z4 E/ l7 t/ T& T' u* H8 X
insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;2 W0 x( f/ C0 ]: q3 m& k- b
, ~0 h/ q; _1 W9 }, E
passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。/ P/ Z3 V0 d3 d2 }
: ~6 U9 U5 s$ q$ \ 密码复杂性验证
: S" @/ a& a, r4 i2 F * Y$ n; Z9 h( W1 k" `% V
insert into 表名 values(2,'自定义',90.5, 654321) ;, u4 b8 `6 ^, c
select * from 表名 ; 查询表的数据记录
+ H/ p0 W, ]$ Z6 ~- D
; e" q1 D/ M. Y- _6 i/ G7 n! _ insert插入表数据0 n; b$ F5 I$ p# C# h! I$ t
) c# y% c2 A: \ A+ T- z
在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)
" T* P+ f9 C! g5 X 6 s9 k- t! F3 U
使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写7 u6 z6 l ?8 f7 w6 u
9 r* {8 j7 w5 Y. o7 k( z8 i# w9 a9 P
- J, v$ u9 @ b: X" X
: B- d1 a0 q& N$ u7 `
7 ^6 P! x7 ]* |4 r/ N% _! u
) x& Q# u- t! a. L) l( v
8 p% D6 o4 ~ F2 ~2 k! G
& k% ~: l! v% \ Z 2.update更新原有数据
4 K. H5 h2 c# z5 R 修改、更新数据表中的数据记录; L- j5 \5 e3 P; e7 ?2 l; c
, O6 u) w- C+ c, z
格式:7 U) t, C, b9 r5 D8 w( ], y
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
3 K& _- @8 c1 |" o# Z1 s
" E+ s5 d$ U+ i! Y* E* b$ k) z 例子:) I3 H4 C5 O# ]8 J9 d5 _
update 表名 set passwd=PASSWORD('') where name='自定义';# q! [4 ^" |+ {: ], J
update 表名 set name= '自定义' , passwd='' where id=3;
4 Q9 Y2 b9 n% d: `: G& M. Z4 C2 `
. ~/ N D5 R" j * }! x8 c. M- {% n+ F
3 G* G3 G0 t Y& u) S
! Y" d) f3 T0 Y0 L( k
3 o/ x- h6 u8 ^; a+ A/ \7 P
1 v0 U6 Y4 V* i, h' y! u% O 3.delete: 删除不需要的数据(表内容)
6 b1 j; t! D5 a, Y 在数据表中删除指定的数据记录(行)! A. w5 Q. r: @. ~! V* m% Z& A- i
% v( `# \# g* ]3 `4 M" e) E 格式:.
- D5 y5 w( S. U6 x 7 Q! X) x: k, V- b% F ]' N
delete from 表名 [where 条件表达式];' \" P, I; ~. J9 G ?; {4 a
2 a% G7 S$ R) u2 }; K, O8 o
例子:+ _& {. S0 J, S9 B; a
6 s$ z( P; _/ N! @' r delete from 表名 where id=4;
, h+ @8 k/ R7 x# P1 d! s 9 @3 |7 l. q( f" L+ T- z: O
0 b1 ]8 N- S' i' @2 C 四、DQL查询数据记录8 o& K2 R( Z) b' L$ R4 E2 a
select
* M) d/ @! d; v' {+ A* ]: n% n 1 o# n, y9 ~5 ?
格式:9 V' ~4 h$ V- s" {; u
! ^, D2 F; P [# k- P seleect 字段名1,字段名2[,...] from 表名[where 条件表达式];5 T5 Q3 |; f1 {* h) p( }- B
( e; z j, d/ R2 K9 B! q4 I$ U ? 例子:
# f0 |7 t, E% K2 @- G" ]; J/ H seleect * from 表名;
$ l8 o: R5 Z4 [ m) D: k seleect id, name from 表名;
3 Q W( [/ j0 l4 } \3 U seleect id, name, score from 表名 where id=2;0 q' Y: c# }3 U- n S) C
5 w0 p- g* a7 t0 K. W5 e
select name from 表名\G 以列表方式竖向显示* x+ m7 K1 s% ^8 S+ V/ }& Y. p
select * from info limit 2; 只显示头3行4 v3 {4 R5 _' E$ F: P- M1 o$ s/ {
select * from info limit 2,3; 显示第3行后的前3行% b/ t1 l# @# x" P9 r
) k/ l1 g* l' O
# B- m2 O+ B6 X+ U; `
5 I# W$ c) D L' f! Q. ~4 R1 M
# S, l# n" i6 D# m- r
# z1 c9 t( |# [5 G
2 f" L6 t8 {" Q* ^
类比excel表格9 ~% H( k2 { I6 n' y
# v4 \. ?% x" W4 e+ t
) u+ f5 C. y0 s + @6 U! x1 ~7 F& C6 `) l/ _2 s0 `
四、DCL 2 ~* r( T/ c# X; }
1.alter 修改表名和表结构(表结构)
; i6 a2 M7 a5 L( N) U alter table 旧表名 rename 新表名;8 h" d, [4 w' [0 G. h8 N1 D* R
; M. a, [+ p$ T7 G I1 F 扩展表结构(增加字段)
" X/ N; }+ L5 k- o+ I; } alter table 表名 add address varchar(50) default '地址不详' ;/ I# F3 p! K1 p0 E; ^! Q0 o) a
default ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用
. y$ I) }. h" U2 k5 I9 d$ T& l alter table 表名 add address varchar(50) not null default '地址不详' ;
( a1 j$ q0 H5 l/ f! n
6 r5 q: ?/ h/ ]; _2 s0 f* }% ^5 I 修改字段(列)名,添加唯一键(唯一性约束)+ K/ u& L. r* B1 w/ {
alter table 表名 change 旧列名 新列名 数据类型 [unique key] ;
. U9 C) f: |2 K$ i unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)) m6 D" Y# ~* R" z( B/ J
primary key (主键) :唯一且非空
2 o" v# S: e7 I! l+ t9 t' j$ \$ ~4 _ alter table 表名 change name user_ name varchar(10) unique key;
! I) p" c6 p) p change可修改字段名、数据类型、约束等所有项。
: [' d6 G9 ]3 S; P. _: i
/ _! a, _5 t$ E4 J# H$ ~ 删除字段
8 H: N& V/ A# V 格式:3 S7 ?2 k6 b [. A
alter table 表名 drop 字段名;' D' Q( v3 {; |6 j ^! s G! b8 @
1 k% p/ z# s' L/ ^ ————————————————; Q: n4 F) {& s$ B; r! o
版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。0 X7 s+ a' |$ V h
原文链接:https://blog.csdn.net/Drw_Dcm/article/details/1267701778 x" K: _5 {/ u' Z
+ ~8 B. _* k2 q1 t
; v1 G& b! ~& B; T
zan