一、进入MySQL与退出MySQL

1.进入MySQL步骤:先打开CMD命令行;命令:C:\Users\admin> mysql
-h(域名,可填或不填) -u(账号) -p(密码);

接连成功时会跳出以下命令:

Connection id: 9 【那个象征:连接次数】
Current database: 【这么些代表:当前操作的数据库名称】
Current user: root@localhost 【那些象征:当前报到的用户 用户名@地址】
SSL: Not in use 【那些代表:是或不是在运用加密链接 SSL加密】
Using delimiter: ; 【那些代表:命令分隔符,截至时以分行甘休】
Server version: 5.5.48 MySQL Community Server (GPL)
【那一个代表:当前mysql数据库的本子型号】
Protocol version: 10 【那几个象征:协议版本】
Connection: 127.0.0.1 via TCP/IP 【那些代表:连接音信】
Server characterset: utf8 【这些象征:mysql数据库管理体系的安装编码】
Db characterset: utf8 【这么些代表:数据库编码】
Client characterset: utf8 【这么些象征:当前客户端的暗许编码】
Conn. characterset: utf8 【这几个代表:当前数据库链接使用的编码】
TCP port: 3306 【那个象征:端口号】
Uptime: 7 min 11 sec
【这些代表:数据库的启航时间[距离上贰回重启的小时]】

2、退出MySQL:quit或exit (回车) 或者 Ctrl+C

二、MySQL基础的操作

1.创办数据库命令:mysql> create database <数据库名>

2.显示全部的数据库命令:mysql> show databases (注意:最终有个s)

3.剔除数据库命令:mysql> drop database <数据库名>

4.跻身数据库命令:mysql> use <数据库名>

5.转变编码命令:mysql> set names gbk

6.翻看当前利用的数据库命令:mysql> select database();

7.当下数据库全体的表消息命令:mysql> show tables (注意:最终有个s);

8.导出数据库命令:mysqldump  -h(域名)  -u(帐号)  -p(密码) 数据库名  >
 本地路线+文件名;
(注意:导出数据库前必须先要退出MySQL调整台。还会有导出的文书后缀名一般都以采用.sql)

9.导入数据库命令:首首先登场录MySQL调整台C:\Users\admin> mysql
-h(域名,可填或不填) -u(账号) -p(密码); 在进入数据库mysql> use
<数据库>; 在导入数据库mysql> source E:/school.sql
 (注意:source 前面是你sql文件所在的相对路线)

10.在MySQL的表中增添字段命令:mysql> alter table <表名> add
column userid smallint not null primary key
auto_increment; 那样,就在那张表dbname中增加了一个字段userid,类型为smallint

11.刨除表命令:mysql> drop table student

12.清空表命令:mysql> delete from student

13.创新表命令:mysql> update student set `name`=’小A’ where
`id`=1

 

三、表操作,操作前必须三番五次有些数据库

1.建表下令:create table <表名> ( <字段名1> <类型1>
[,..<字段名n> <类型n>]);

例如:

mysql> create table Student(

-> id smallint unsigned not null primary key auto_increment comment
‘注释id’,

-> name char(20) not null comment ‘注释name’,

-> sex tinyint null default “1” comment ‘注释sex[男为1,女为2]’,

->) engine = innoDB;

2.获取表结构命令:desc <表名> 可能 show columns from <表名>
还会有 show create table <表名>

例如:

mysql> desc Student

mysql> show columns from Student

mysql> show create table Student

3.删减表命令:drop table <表名>

例如:

mysql> drop table Student

4.增加新数据命令:insert into <表名> ( 字段名1 , …字段名n )
values ( 值1 , …值n )。可能 insert into <表名> values(
要输入任何的数据结构 ),(注意:如需添增加条数据请用逗号隔离)

例如:

mysql> insert into Student values(1, ‘小A’ , 2), (2, ‘小B’, 1), (3,
‘小C’, 2)

5.查询表中数据命令:select <字段1,字段2,…字段n> from
<表名> where <条件>。恐怕 select * from <表名>

例如:

mysql> select * from Student

6.删除表中多少命令:delete from <表名> where <条件>。恐怕delete from <表名>

例如:

mysql> delete from Student

7.修改表中的数据命令:update <表名> set 字段=新值, … where
<条件>

例如:

mysql> update Student set name=’小D’ where id=3

8.退换表名命令:rename table <旧的表名> to <新的表名>

例如:

mysql> rename table Student to Class

9.用文件方式将数据装入数据库表中

例如:D:/mysql.txt

mysql> load data local infile “D:/mysql.txt” into table Student

四、数据类型

1.字符串类型

CHARAV4(M)型: 固定长度的字符串,最大尺寸为2伍11个字节

VARCHAHighlander(M)型: 可变长度,最多不超过65
535字节,如在成立即内定VARCHA智跑(n),则可存款和储蓄0~n个字节

TINYTEXT型: 可变长度的字符串,扶助最大尺寸252个字节

TEXT型: 可变长度的字符串,协理最大尺寸65 5三二十一个字节

MEDIUMTEXT型: 可变长度的字符串,协理最大尺寸16 777 217个字节

LONGTEXT型: 可变长度的字符串,辅助最大尺寸4 294 967 2九十多个字节

2.整型与浮点型    有号子[正负]                    无符号unsingn

TINYINT型:     -128 ~ 127                   
     0 ~ 255 (就是2的8次方-1)

SMALLINT型:    -32768 ~ 32767                   
 0 ~ 65535 (就是2的16次方-1)

MEDIUMINT型:   -8388608 ~ 8388607                  0
~ 16777215 (就是2的24次方-1)

INT型:        -2147483648 ~ 2147483647              0
连日成功时会跳出以下命令亚搏app官方网站。~ 4294967296 (就是2的32次方-1)

BIGINT型:      -9223372036854775808 ~ 9223372036854775807   0
~ 18446744073709551615 (就是2的64次方-1)

3.日期和时间项目

DATE型: YYYY-MM-DD 格式表示的日子值 / 取值范围 一千-01-01 ~ 9999-12-31

TIME型: hh:mm:ss 格式表示的时辰值 / 取值范围 -838:59:59-838:59:59

DATETIME型: YYYY-MM-DD hh:mm:ss 格式表示日期与时光 /
取值范围 1000-01-01 00:00:00 ~ 9999-12-31

TIMESTAMP型: YYYYMMDDhhmmss 格式表示的大运戳 /
取值范围 196901010七千1——20380119141407

YEAOdyssey型: YYYY 格式的年度 / 取值范围 1904~2155

五、字段约束

我们唯有是概念了字段的数据类型还相当不够,大家还索要一些增大的本性来约束依然专门的学业字段

UNSIGNED
只可以用来安装数据类型,不允许出现负数,最大存款和储蓄长度会增添一倍,ZEROFILL
只可以用来安装数值类型,在数值从前自动用0补齐不足的位数,AUTO_INCREMENT
若是给有个别数据表的三个整数数量列定义可选的AUTO_连日成功时会跳出以下命令亚搏app官方网站。INCREMENT属性,那么当用户向那一个数额表插入叁个新记录时,MySQL就能够自行地把那么些大背头数据列的此时此刻最大取值加上1后头赋值给新记录中的那么些平头字段;
使用AUTO_INCREMENT属性须要注意多少个难点: 那些特性必须与NOT NULL
、P奥迪Q5IMA中华VY KEY 或然 UNIQUE 属性同期选取;
各样数据表最多只可以有三个AUTO_INCREMENT数据列;
MySQL的这种ID值自动生成机制只在用户使用INSERT命令插入新记录、并且没有为ID字段分明地付诸四个值或NULL时才起成效。假如用户给出了三个切实的值并且这几个值在ID列里出现过,MySQL就将使用这一个ID值生成一条新记录;

NULL和NOT NULL
默感到NULL,即插入值时并未有在此字段插入值,默以为NULL值,借使钦赐了NOT
NULL,则必须在插入值时在此字段填入值 DEFAULT
能够透过此属性来钦定三个私下认可值,若无在此列增添值,那么暗许加多此值
主键(P本田UR-VIMA瑞虎Y KEY) 能够唯一标识表中某一行的性子或属性组。
多个表只可以有三个主键,但能够有多少个候选索引。主键平日与外键构成参照完整性约束,幸免出现数据不均等。主键可以保障记录的唯一和主键域非空,数据库管理种类对此主键自动生成唯一索引,所以主键也是叁个特种的目录。
外键(foreign key)是用以建商谈拉长七个表数据里面包车型大巴链接的一列或多列。
外键约束重要用来保养七个表之间数据的一致性。简言之,表的外键便是另一表的主键,外键将两表联系起来。一般情状下,要刨除一张表中的主键必须首先要保管别的表中的未有一样外键(即该表中的主键未有一个外键和它相关联)

六、MySQL 运算符

1.相比运算符

=   等于 
>   大于 
<   小于 
>=  大于等于 
<=  小于等于 
<>  不等于 
!>   不大于 
!<   不小于

%  匹配放肆四个字符

_   匹配放肆三个字符

2.逻辑运算符

AND  假使结合的原则都是 TRUE , 重返 TRUE

O宝马7系    假诺构成的标准化其一是 TRUE , 再次回到 TRUE

NOT  要是基准是 FALSE , 再次回到 TRUE

七、集中函数

SUM ( ) 求和 
AVG ( ) 平均值 
COUNT ( ) 表明式中著录的数目 
COUNT (* ) 总结记录的数目 
MAX 最大值 
MIN 最小值 
VAR 方差 
连日成功时会跳出以下命令亚搏app官方网站。STDEV 标准抽样误差 
FITucsonST 第二个值 
LAST 最终三个值

八、查询字句

1.用O福特ExplorerDEKoleos BY子句排序结果(ASC表示升序,为暗中认可值,DESC为降序)

O牧马人DERAV4子句按二个或多少个(最多十五个)字段排序查询结果,可以是升序(ASC)也足以是降序(DESC),缺省是升序

OSportageDESportage子句普通位于SQL语句的末梢

OEvoqueDE景逸SUV子句中定义了多个字段,则根据字段的先后顺序排序

例如:对学生的岁数进行排序

SELECT * FROM student ORDER BY age DESC;

2.LIMIT 子句对查询出的结果做限定,往往大家不想二遍抽出全体的数码

LIMIT有四个参数: 多个参数、表示收获行数!
四个参数、第一个参数表示从第几行去,第叁个参数表示取多少行

3.LEFT JOIN  ON 连表查询

连日成功时会跳出以下命令亚搏app官方网站。连表查询有三种方法,分别是:左连和右连还也会有内连

左连:
 以左手的主表为主,假若主表未有数据,则不会回来结果,即正是从表有数量
left join `表名` on 连表条件

右连:
以左边的从表为主,即便从表未有数据,则不会回到结果,即正是主表有数量
right join `表名` on 连表条件

内连: 以两张表为主,必须两张表都有数据的处境,才会回来结果。
inner join `表名` on 连表条件

九、MySQL的函数

mysqli_connect 连接数据库,参数是 访问地址、账号、密码、数据库名

mysqi_connect_errno 再次来到数据库连接的错误状态码

mysqli_connect_error 再次回到数据库连接的错误新闻

mysqli_close 关闭数据库连接,参数是数据库连接

mysqli_query 对数据库试行贰次sql语句的试行

mysqli_num_rows 取得结果集中央银行的数额

mysqli_fetch_array
从结果聚集获得一行作为关周详组,或数字数组,或二者兼有,第一个参数
索引数组MYSQLI_NUM 关联数组 MYSQLI_ASSOC 两个都有MYSQLI_BOTH

mysqli_fetch_assoc 从结果聚集获得一行作为涉及数组

mysqli_fetch_row 从结果聚焦取得一行作为枚举数组

mysqli_fetch_object 从结果集中取得一行作为靶子

mysqli_free_result 释放结果内部存款和储蓄器

十、事务

作业是急需在同贰个管理单元中实施的一文山会海更新处理的聚焦。通过动用职业,能够对数据库中的数据库中的数据库更新管理的提交和打消举行保管。事务管理的终止指令包含COMMIT(提交管理)
和ROLLBACK(裁撤管理)三种。
DBMS的事情有着原子性(Atomicity)、一致性(Consistency)、隔开分离性(Isolation)和漫长性(Durability)各样特色。日常将那各样特性的首字母结合起来,统称为ACID性子。

例:给A君减10元,给B君加10元。 START TRANSACTION; UPDATE user SET
money=money-10 WHERE name = ‘A君’; UPDATE user SET money=money+10 WHERE
name = ‘B君’; COMMIT;

 

(注)、以下是在互连网看到使用MySQL的有的管制经验

在windows中MySql以劳动方式存在,在选取前应确定保证此服务一度起步,未运转可用net
start mysql命令运转。而Linux中运行时可用“/etc/rc.d/init.d/mysqld
start”命令,注意运转者应享有管理员权限。
刚安装好的MySql包罗多个含空密码的root帐户和贰个无名氏帐户,那是一点都不小的安全隐患,对于某个重中之重的应用大家应将安全性尽可能提升,在此地应把无名帐户删除、
root帐户设置密码,可用如下命令实行:
use mysql;
delete from User where User=””;
update User set Password=PASSWORD(‘newpassword’) where User=’root’;
一旦要对用户所用的报到终端实行限制,可以更新User表中相应用户的Host字段,在拓展了上述改动后应重新启航数据库服务,此时报到时可用如下类似命令:
mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;
上边命令参数是常用参数的一部分,详细情状可参照文书档案。此处的mydb是要登陆的数据库的名号。
在拓展付出和实在运用中,用户不应有只用root用户张开接二连三数据库,尽管应用root用户举行测验时很有利,但会给系统带来重大安全隐患,也不便于管理技巧的增加。大家给八个运用中运用的用户赋予最确切的数据库权限。如二个只实行多少插入的用户不应赋予其删除数据的权杖。MySql的用户管理是因而User表来兑现的,增多新用户常用的艺术有三个,一是在User表插入相应的数额行,相同的时候安装相应的权能;二是透过GRANT命令创立具备某种权力的用户。个中GRANT的常用用法如下:
grant all on mydb.* to NewUserName@HostName identified by “password”
;
grant usage on *.* to NewUserName@HostName identified by “password”;
grant select,insert,update on mydb.* to NewUserName@HostName identified
by “password”;
grant update,delete on mydb.TestTable to NewUserName@HostName identified
by “password”;
若要给此用户赋予他在相应对象上的权力的保管技艺,可在GRANT前面增加WITH
GRANT OPTION选项。而对此用插入User表增多的用户,Password字段应用PASSWOWranglerD
函数举行立异加密,防止不轨之人窃看密码。对于这一个已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限能够透过更新User表相应字段,也可以利用REVOKE操作。
上面给出本身从任何素材(www.cn-java.com)获得的对常用权力的阐述:
大局处理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 展现或杀死属于别的用户的服务线程。
RELOAD: 重载访问调整表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(譬如扩充/删除列)和目录。
Create: 创建新的数据库或数据表。
Delete: 删除表的笔录。
Drop: 删除数据表或数据库。
INDEX: 建构或删除索引。
Insert: 扩展表的笔录。
Select: 呈现/寻找表的记录。
Update: 修改表中已存在的记录。
特意的权能:
ALL: 允许做其余交事务(和root同样)。
USAGE: 只同意登陆–其余什么也分歧意做。

二个细小操作本领:

  假让你在打命令时,回车的前面发觉忘记加上得了分号了,你绝不重新打三遍命令,只要打个总局回车就足以了。也就是说你能够把三个全部的授命分成几行来打,完后用分号作了结标记就OK了

发表评论

电子邮件地址不会被公开。 必填项已用*标注