在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 554633 点 威望 12 点 阅读权限 255 积分 171763 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 18 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
MySQL数据库基本操作
4 D3 {7 o- k. e: t/ R' q$ Y" a! x
$ C' G; c& O6 d, W 目录$ }6 s( [, C4 M+ v* F Q( V0 d6 k6 T
% f9 M$ X: V; l7 ]. _8 K6 ^ 一、SQL语句 (mysql 数据库中的语言)) m) j* |# D2 f6 R- N; @, z: U9 b
& j- Q( P! A5 t( k' @& [ 二、DDL
1 D! E# i, P3 q
( i$ M+ G' d& P; v6 R0 s4 x9 Z 1.DDL语句
5 O0 n; j4 [' i. u
( H4 a3 y! e: |2 W1 c9 k% J6 E (1)创建新的数据库
4 O3 C; u8 k2 j% e' w( ^+ |; a
! u0 t$ ]9 Q6 C0 P; i$ o (2)创建新的表
+ o/ a7 M8 A$ ]0 |/ h6 h " U, j3 \" P( i6 ], X$ a
2.删除数据库和表: T/ A2 D% I( I D+ x5 h; o# ?$ Y
( h- L4 Q ~8 T# s9 }3 X 三、DML
0 E- Q9 v5 ?, { ; X) E1 k/ N% W( y) E
1.insert插入新数据
( C/ X; S' Y( |, ]6 O / C' S: w9 r* h. ?+ |( E
2.update更新原有数据
+ e1 _( o; t6 i; X' `* u& t
/ I* q7 u- a/ \! E1 { 3.delete: 删除不需要的数据(表内容)8 Z+ P6 n; u8 Y" o5 `
$ a' i- D( Z* v2 m8 P( F 四、DQL查询数据记录5 [/ H! h" i+ K9 O7 ^6 N$ m" w
c$ J# B k" r. v 四、DCL 1 d* S3 d' ^7 e/ x- g1 U/ e
0 z U3 E- L* u7 Q8 y4 R2 I# c
1.alter 修改表名和表结构(表结构)+ b( {* v) e. `. o& K% J+ y2 u+ D' {
- f# @; N9 Q, G; @! E' N8 I 一、SQL语句 (mysql 数据库中的语言)
6 q2 e" ]4 G2 x: h% @ show databases;查看数据库
' g; Y4 |+ E0 Q- j$ E use "database_ name" ;进入数据库
) z( z2 i7 o- h4 ~ show tables; 查看当前数据库中有哪些表9 E6 d2 n7 e+ i" [! Y8 a7 ~
select * from "table_ name";查询数据表中的所有内容6 _! k( o$ @# a6 `- r( Y
describe "table_ name"; 查看表结构0 K. M6 a- G2 ^& P: [3 V+ z
desc "table_ name";$ T7 ?* W' V% |* U' c, `: N3 H- M
G/ [. w3 T- t, q7 {
2 Q/ W8 C5 i+ f - L4 C5 y' e! r: G9 @0 d* l, t! E2 a
1 b2 X+ A5 q, G5 V! y) N; X
5 b) i6 c- Y" z8 R + V5 t4 D; q0 x2 q
4 W: G0 Z/ P7 y4 ?3 t ( B) [- K/ `+ i' L: c. z1 s4 n6 ?
2 q( c* r {9 t, f
$ H* b: A0 o. j
. x' p( k9 w3 J, x8 C- `% ^
$ g; T1 c5 o% f$ j* a
' I! Y* u9 g M% x2 b \
]1 F- C7 Z1 X0 ^/ t# i) C3 t/ s 类比excel表格8 ^- r" U# y, w
- G" J; k6 [8 t, ?" Y/ E- [
9 T9 ]. w p4 S' C' } U ! d3 A( w k9 @% x0 b+ C
: u' F" t0 ~4 k
4 C/ S* a2 r( m: a w$ q; m9 Y
. w; [5 {9 ~" _3 N$ e4 u0 g- B7 z
' q5 K% l' `0 C: B% W8 U/ o
6 D$ ^5 }! C) L* P6 j; w3 C* L$ a( F
! _2 X/ k6 f& x1 p7 V 类比excel表格 |1 w+ F5 x! E$ |
, V0 m$ K/ W( T- O4 L; d' }% z
- v2 M: Q0 R2 y
/ c. W/ \% V6 h% u& p
* e" o) `+ [' c$ N! D. n
# d* |) T5 R( `' ?; G 简写 7 h% A+ Q2 |% a s) P) f0 r0 Q% v
3 f" A# G/ G# ? filed 字段名
' y- h6 @0 U; ^, I! Q! N2 b - O7 J- x( u% \9 U: \( [. J
8 V8 Z! Y% a. b9 ]0 Y# ~
5 K3 o! Q8 F1 R 二、DDL
! d3 }5 ~& u: M" R, [( h6 ^+ \. U 1.DDL语句7 _! @0 p& Z Z% U/ p. j. K
用于创建数据库对象(库、表、索引等)$ \$ t- y# [$ j; J' h0 D& R: O
6 ~+ O4 \( \+ X+ O' b5 ?; T (1)创建新的数据库
' z Y& N, ]: w& y9 E3 D" i create database 数据库名;
* J3 |% V& f4 U$ c
* [0 c" _" j/ a% P; p (2)创建新的表
4 ]7 V3 E# _% l create table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);
$ p: b$ ?, q9 k9 N# V0 J, P; y( ^ 主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。
# k6 q7 C; d! ?2 I. M0 M , t7 x) W) g' B6 [) \
create database 数据库名;$ b/ r0 K; [+ k- \$ e. A5 m% D
use 数据库名;
1 L; G c2 k" o0 n create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ;
V2 C& M. @* a
- ]5 ~( }' ^7 Q1 \7 \5 {- m, p desc 表名;
u; U r+ u& U. Q$ X5 \% X+ M
- S( o8 \# Q2 k: l9 | not null 不允许为空值8 w; c6 q; S* m: g0 g$ J" F
6 U9 G$ d& G4 p
default ' ' 默认值为空
/ f$ H9 a0 p q# w ! |3 M" r \$ t: @5 \7 o
primary key : 主键一般选择没有重复并且不为空值的字段& Q5 \. E% K3 t$ K: n' |$ {& o
- @3 |" _3 J7 b* D, `! d, u* F/ D
例子
5 H+ W& g4 |& r7 o q3 \ create table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));
7 A5 S! e: N7 `% D6 p% E create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));
# ^" D/ p0 J4 b0 W
7 ^( W. A0 ]$ `8 v
) o! h7 m5 L' y2 c: ~; }# U
3 ~ t7 ^8 o# j7 _* b8 w
! u! D U5 C% O( S 4 x& e1 N% ^ T$ E7 o' ?
5 T3 f0 D" o0 t0 y$ Y. j
% X3 g' Q; R, Y5 }
& u/ d3 k% P$ d4 f. U0 j* n, Q 2 S' d- \; L5 [ X2 ?
8 X0 K! `! Z" |9 d
2.删除数据库和表
. F: U8 M, I v7 h" k) Q1 G 删除指定的数据表+ t" O1 I( w& O+ y. f8 x, d4 Q5 U6 k
; E+ I. H% F! @3 I ^+ q, | drop 删除表内容(数据)和表结构2 S: d' \) K. i. l
: |$ Y* @% N9 ^( B) A4 d use 数据库名
: K- j) J5 t6 M( o& r drop table 表名 + S3 y" ^; x0 h6 r6 }# n' I
drop table [数据库名.] 表名;. @1 B& \8 N% e- c+ N" G
如不用use进入库中,则需加上数据库名$ d. A/ I$ j. \% ~6 ?
删除指定的数据库
% { r. p# v1 ~* Q drop database 数据库名;* A0 v: E9 Q; d/ O7 P' e
) c" \$ \8 {& o8 o
& P- P0 P- S/ Z
" r& z$ b; e* O' @7 ]1 f% a
6 A W# I/ M% R# _8 s# ^ / D3 `- f0 |$ t" L+ n; d1 ]& Q
6 b3 Y# w9 f) j0 |! `' L: q* B 2 ]% E" d4 ]; @; d2 l$ ?
" H$ U1 U' v# Y% `3 V
Y( `+ x9 O- D0 `/ \+ u 3 W7 B3 Y- o4 H% ~0 q% k7 n A; e! a
: r @) L/ m# c2 D. N( p& p3 k
! O5 u- G8 y$ d% H+ X
# F& W z4 p5 s5 n# c; x) H# D Z
* e- a) q( J/ ?7 r
: S' t* M9 N- G# \ + I5 g |' `- S' u; X4 C5 J8 \
三、DML0 _3 n7 V, p- ~6 m
管理表中的数据记录
+ J/ b5 s0 X+ H' G7 Z' l7 p3 A " h" z8 ]0 Y9 t/ b: p) {
insert: 插入新数据! u0 q2 W' s# K4 X8 J$ a
update: 更新原有数据2 h+ @# m' e- {# Y0 B& a
delete: 删除不需要的数据
% J) Z/ Q, |1 G* n 1.insert插入新数据# m% x% p+ P6 G$ I6 K- s& \7 t
格式:
: H# `, [3 C1 ]9 h) Z3 N" a% h: Q : `# O; C" k4 G7 }
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);
3 P N% ^# b6 V0 }0 ]! H
$ a; L L4 R" }, u* | 例子:: b" u8 O/ t4 R# y5 D- B% R
insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;
, C$ y# S. h+ n3 L( \3 S
; a9 m9 b. S N passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。
& J3 J8 L" _$ Q* d$ K 4 C* A4 r' g1 U7 q" W
密码复杂性验证
1 \& v8 q! t2 O. t( \- |9 Z O 3 V8 C! i9 u2 w7 U
insert into 表名 values(2,'自定义',90.5, 654321) ;
! G- ?# z0 C/ D& ~" ~ y select * from 表名 ; 查询表的数据记录
) ]6 T% v% Z" e0 _- e- ^ 0 s" \( b% n4 B! Z* f2 c5 r
insert插入表数据6 p) Q1 y, Z' `/ e
5 |( }) p! ]: {% w& K9 l
在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)
) Y5 x, p7 @ g2 k8 t- s, c 8 S& Q* F, i' G/ p
使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写
7 Q1 S% N- h7 z f; `/ C1 q8 Q
$ d/ `# p+ z9 n
$ [. Y' r7 }/ d) V ' F/ n8 ~5 m; g5 ^
+ {* j5 e0 V$ _6 k, A1 _7 B, C
5 M* C$ v" p- L3 t/ t7 ^2 E9 K 0 A/ V# v+ J3 c# b0 ]& F' ?+ k' r
3 d. }# B* i6 l% `. ?9 N1 }9 X
2.update更新原有数据: q5 U4 @# m6 y A9 r' Y7 s
修改、更新数据表中的数据记录; F4 }' b. v" X% \0 m& m
# m, O4 L6 t5 ?8 J+ t 格式:+ N$ M" ]0 ?7 d. V+ T# R4 ]/ T: ]
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];: \. {# v' B, l$ ^- ?3 ?
8 f# u9 [$ u- g
例子:
9 w$ Z6 P t: I5 a3 E5 w1 V3 c6 z update 表名 set passwd=PASSWORD('') where name='自定义';: M) C; O! ^/ R0 N
update 表名 set name= '自定义' , passwd='' where id=3;( R3 s8 t$ n7 T1 F8 {
9 R: g; }/ D( X% D5 l
8 l z' ~: T/ Y8 A" O7 W
: y, |1 h2 c, I# P! l : X% |; l. U: b9 t) ]/ ~5 y$ v$ H
- `4 k- h1 k* b' L+ M
1 x* W' b) ~6 z% d 3.delete: 删除不需要的数据(表内容)4 \* ]+ M( o. q( t& o
在数据表中删除指定的数据记录(行)
- Y* v* J$ u1 b2 X Y/ S3 T2 U: m; [1 K5 |0 O
格式:.# ]. o# h( A9 H. |5 ?% n, Y
3 D; U) p' @3 [& k/ u( l delete from 表名 [where 条件表达式];2 p; n4 z5 C4 \ q1 \6 a+ e) D
" R" j5 \3 e. u' A- s) i! v8 G 例子:% D& r4 J" p6 ^1 s, W3 l1 \* p( U5 {
# B0 Y) f1 ^7 f9 C3 p: \ delete from 表名 where id=4;
* o+ d5 l" `1 s7 P% l* x, A8 K ! |* Z9 E H# z; S; o7 g
- |4 n' G7 \6 A9 t2 i1 j8 w
四、DQL查询数据记录
2 l5 }4 M# \9 o( K9 q* B) H select
2 d1 U4 @6 V! ^5 u4 R5 Z # @4 A+ V# \4 h0 |
格式:
7 w# F& w' M8 x+ J | n. r$ O$ s5 w' m
seleect 字段名1,字段名2[,...] from 表名[where 条件表达式];
" ?9 s2 ^7 v8 W0 B
) w; i7 R1 ]6 w3 ~( X' a 例子:
2 \0 h" i& u" G* T) I1 s2 a seleect * from 表名;) h3 ~) A5 X- J8 G$ F
seleect id, name from 表名;6 Q( E, C4 T& D+ N* W2 H
seleect id, name, score from 表名 where id=2;
8 \: |7 B f, K' g% i/ I 5 z' P+ F6 n# d
select name from 表名\G 以列表方式竖向显示/ D9 W0 u: b4 k4 A- a) X
select * from info limit 2; 只显示头3行- k' ^' m j8 o' H! l2 ]9 k
select * from info limit 2,3; 显示第3行后的前3行
0 t0 m# X2 l; G& t 7 x7 }" q# m2 Y/ K
6 J/ q/ g6 J8 j4 N5 p
; w G! {1 l- j8 ^* P* E
) A: w' r+ K) u+ ?9 Y
' ]. a1 d ? e7 I7 B ( Q s t; A' K" D! Y! V
类比excel表格
: C% }$ J! V8 p1 q* O 1 d6 W+ v0 L9 y7 X8 P6 w8 Q
6 G& b# P$ w5 `, h: j: V
) W6 s1 } ^/ |/ W' G+ y 四、DCL : Z) y$ @/ o5 k1 ~$ c7 z% Z" {
1.alter 修改表名和表结构(表结构)
7 a$ v, m2 ^, W8 ~. r, E alter table 旧表名 rename 新表名;* o8 ?8 ?5 X( e- |+ V; D/ h
$ l0 s4 D' n7 a( @
扩展表结构(增加字段)
1 H! P1 R$ {( F/ b alter table 表名 add address varchar(50) default '地址不详' ;
3 {' P! k2 D8 A; L$ A- y default ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用
7 h8 U3 g2 n/ j) {# E5 [. ?3 O alter table 表名 add address varchar(50) not null default '地址不详' ;, v- n2 @" Z' ]4 i, f# W; ~' g
( L9 f' _( e" D# r1 u
修改字段(列)名,添加唯一键(唯一性约束)
! ^$ V* j* h8 Z2 P alter table 表名 change 旧列名 新列名 数据类型 [unique key] ;/ Y& V3 o) o5 R* ^- k
unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)
- Z, m8 l: @- ~- Q- \3 H primary key (主键) :唯一且非空0 q. O3 E: k2 q6 s$ H h% ]/ r! w
alter table 表名 change name user_ name varchar(10) unique key;/ W, a# _; H6 M9 }8 I2 L; ]
change可修改字段名、数据类型、约束等所有项。3 M5 Y+ ]& {) j( } Q4 S
$ k1 H, a5 C( @& x- M
删除字段
: X7 S; n2 y4 m8 R 格式:
3 s& b2 i) _. p3 _% u7 f1 ~6 x6 q alter table 表名 drop 字段名;# S, }1 {$ W% J& S" Z
( N$ k0 d1 \0 t. J3 E! U9 Y7 F! D6 q1 @! V
————————————————1 j$ g" X$ V5 j5 [
版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
" y& X; W/ r9 N8 l' c6 ] 原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177
. V+ p: C5 o \ I* k! T5 s! X: Q ! o8 O' a( d; `* t2 B) P6 g
) C8 J1 P; y' p6 p
zan